如何在引号中包含引号c#
Posted
技术标签:
【中文标题】如何在引号中包含引号c#【英文标题】:How to include quotes in quotes c# 【发布时间】:2016-03-05 07:34:16 【问题描述】:我的代码在这里:
String text = "" + label1.Text + ""; //label1 is: C:\myfiles\download
textBox1.Text = text;
我会在构建后显示文本框:(有引号)
"C:\myfiles\download"
请帮助我。
非常感谢。 对不起,我的英语不好。
【问题讨论】:
String text = "\"" + label1.Text + "\"";
?
【参考方案1】:
为了避免此类错误,请使用格式化:
textBox1.Text = String.Format("\"0\"", label1.Text);
并让编译器确保提供的字符串"\"0\""
没有拼写错误。
【讨论】:
【参考方案2】:这个?
String text = "\"" + label1.Text + "\""; //label1 is: C:\myfiles\download
这转义了引号的意思:\
后面的字符不再有特殊含义,是一个普通字符。
或者更容易使用逐字字符串:
String text = @"""" + label1.Text + @""""; //label1 is: C:\myfiles\download
【讨论】:
【参考方案3】:使用 C# 6,您可以使用以下语法非常巧妙地做到这一点:
textBox1.Text = $"\"label1.Text\"";
这是textBox1.Text = String.Format("\"0\"", label1.Text);
的简写,与String.Format
一样,编译器将为您检查字符串的有效性。
【讨论】:
【参考方案4】:解决您的问题
您需要使用反斜杠。 " 的第二次出现将转义字符串声明。反斜杠将防止这种情况发生。
String text = "\"" + label1.Text + "\"";
textBox1.Text = text;
现在,进行一点重构
你不需要声明一个变量,除非你再次使用这个值。此外,您可以使用string.Format()
。有关此方法的更多信息,请查看参考部分中的链接。
textBox1.Text = string.Format("\"0\"", label1.Text);
一些参考资料
这个 *** 问题关注的是同一个问题: How to use a string with quotation marks inside it?
这里是 MSDN 参考:https://msdn.microsoft.com/en-us/library/aa983682(v=vs.71).aspx
MSDN reference string.Format
【讨论】:
【参考方案5】:双引号用\"
表示为escape sequence characterlike;
String text = "\"" + label1.Text + \""";
或者您可以使用verbatim string literal 将其翻倍;
String text = @"""" + label1.Text + @"""";
或者你可以使用string.Format
作为;
String text = string.Format("\"0\"", label1.Text);
【讨论】:
以上是关于如何在引号中包含引号c#的主要内容,如果未能解决你的问题,请参考以下文章