如何在字符串中包含引号


Answers:


162

用反斜杠转义。

"I want to learn \"C#\""

该参考手册对您有所帮助:msdn.microsoft.com/zh-cn/library/ms228362.aspx
S.Lott 2010年

2
格式化字符串String.Format(“ <E> <A KH=\"{0}\" ID=\"{1}\"/> <C> <T ID = \”时,不能使用多个““” {2} \“ SID = \” {3} \“> <LP = \” {4} \“ N = \” {5} \“ /> </ T> </ C> </ E>”, 。PARAMS)不会与多个报价的工作,请使用这个答案是正确标记和习惯做的习惯。
新的蜜蜂

@ANeves可以说@newbee是错误的,并且有一个有效的反例:string ok = string.Format(@"""{0}"" = {1}", "yes", true);但是不要链接到浪费人们时间的愚蠢无关图片。这是一个技术站点
barlop

83

除了用反斜杠转义引号外,还请参见SO问题2911073,它说明了如何在@前缀的字符串中使用双引号:

string msg = @"I want to learn ""c#""";

我在替换逻辑中需要这个。字符串nullHideDecimal = @“ <HideDecimal i:nil =”“ true”“ />”; 然后dataContractXML = dataContractXML.Replace(nullHideDecimal,“ <HideDecimal> 0 </ HideDecimal>”);
Ziggler

20

我用:

var value = "'Field1','Field2','Field3'".Replace("'", "\""); 

而不是等效的

var value = "\"Field1\",\"Field2\",\"Field3\"";

因为前者的噪音远小于后者,因此更容易看到错字等。

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


我喜欢你的方式
Mahdi-Malv


4

使用转义字符例如以下代码:

var message = "I want to learn \"c#\"";
Console.WriteLine(message);

将输出:

我想学习“ c#”


0

您还可以声明一个常量,并在每次使用它。整洁并避免混淆:

const string myStrQuote = "\"";

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.