如何在字符串中包含引号

lea*_*ing 72 c#

我有一个字符串"我想学习"c#"".如何在c#之前和之后包含引号?

ken*_*ytm 143

用反斜杠逃脱它们.

"I want to learn \"C#\""
Run Code Online (Sandbox Code Playgroud)

  • 格式化字符串String.Format("<E> <A KH=\"{0}\"ID=\"{1}\"/> <C> <T ID = \"时,不能使用多个""" {2} \"SID = \"{3} \"> <LP = \"{4} \"N = \"{5} \"/> </ T> </ C> </ E>", params)不适用于多个引号.请使用正确标记的答案,并习惯这样做的习惯. (2认同)

Nei*_*ant 73

除了使用反斜杠转义引号外,还可以看到问题2911073,它解释了如何在@ -prefixed字符串中使用双引号:

string msg = @"I want to learn ""c#""";
Run Code Online (Sandbox Code Playgroud)


小智 20

我用:

var value = "'Field1','Field2','Field3'".Replace("'", "\""); 
Run Code Online (Sandbox Code Playgroud)

而不是等同的

var value = "\"Field1\",\"Field2\",\"Field3\"";
Run Code Online (Sandbox Code Playgroud)

因为前者的噪音远远低于后者,所以更容易看到拼写错误等.

我在单元测试中经常使用它.


som*_*esh 10

string str = @"""Hi, "" I am programmer";
Run Code Online (Sandbox Code Playgroud)

输出 - "嗨,"我是程序员


Gur*_*ron 8

从 .NET 7 开始,您可以使用原始字符串文字,它允许声明字符串而无需转义符号:

string text = """
I want to learn "C#"
""";
Console.WriteLine(text); // Prints string 'I want to learn "C#"'
Run Code Online (Sandbox Code Playgroud)

如果字符串不以双引号开头或结尾,您甚至可以将其设置为单行:

string text = """I want to learn "C#"!""";
Run Code Online (Sandbox Code Playgroud)