Avatar ·

C#中的多行字符串字面量:如何编写长文本而无需转义?

大家好!我是C#新手,遇到了一个问题。我需要将长文本保存到变量中,例如SQL查询、JSON或简单的多行消息。在其他语言(Python、JavaScript)中,我可以使用三重引号或模板字符串,效果很好。但在C#中,我找不到方便的方法。 以下是我尝试做的示例: ```csharp string query = "SELECT * FROM Users WHERE Age > 18 ORDER BY Name;"; ``` 编译器报错,因为不能在双引号内换行。我尝试使用`\n`字符: ```csharp string query = "SELECT * FROM Users\nWHERE Age > 18\nORDER BY Name;"; ``` 但这只在我想得到一个带有换行符的单行字符串时有效,而不是可读的多行代码。在实际项目中,我有大段的XML和JSON片段,转义引号和特殊字符变成了一场噩梦。例如: ```csharp string json = "{\"name\": \"John\",\n\"age\": 30,\n\"city\": \