问题描述
我正在尝试使用 C# 将字符串写入文件,我正在寻找的输出应该是这样的
<Meta name="geo.region" content="Asia"/>
为了实现这一点,我尝试了这段代码,
writer.WriteLine(@"<Meta name=""geo.region"" content="""+MetaTags.Region+"""/>");
但输出是,
<Meta name="geo.region" content="Asia/>
“亚洲”后没有双引号
我也试过
writer.WriteLine(@"<Meta name=""geo.region"" content="""+MetaTags.Region+"""/>");
解决方法
为了在结果中使用两个双引号产生一个双引号,需要在字符串字面量前加上 .gpx
。所以这是一个语法错误:
@
但这不是:
"""/>"
简单地将 @"""/>"
添加到您的字符串文字中,就像您已经为其他字符串文字所做的那样:
@
或者,如果这是一个足够新的 C# 版本,您可以使用字符串插值对其进行清理:
writer.WriteLine(@"<meta name=""geo.region"" content=""" + MetaTags.Region + @"""/>");
如果你更喜欢反斜杠而不是双双引号。
,在 C# 中,您可以在双引号前使用反斜杠而不是双引号:
writer.WriteLine("<meta name=\"geo.region\" content=\"" + MetaTags.Region + "\"/>");
使用字符串插值:
writer.WriteLine($"<meta name=\"geo.region\" content=\"{MetaTags.Region}\"/>");
它会输出:
<meta name="geo.region" content="region"/>
更多详情: