在C#6中,有一个新功能:内插字符串。
这些使您可以将表达式直接放入代码中,而不是依赖索引:
string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y());
成为:
string s = $"Adding \"{x}\" and {this.Y()} to foobar.";
但是,我们使用逐字字符串(主要是SQL语句)在多行中有很多字符串,如下所示:
string s = string.Format(@"Result...
Adding ""{0}"" and {1} to foobar:
{2}", x, this.Y(), x.GetLog());
将它们恢复为常规字符串似乎很麻烦:
string s = "Result...\r\n" +
$"Adding \"{x}\" and {this.Y()} to foobar:\r\n" +
x.GetLog().ToString();
如何同时使用逐字和内插字符串?
您可以将$
和@
前缀都应用于同一字符串:
string s = $@"Result...
Adding ""{x}"" and {this.Y()} to foobar:
{x.GetLog()}";
自从在C#6中引入以来,内插逐字字符串必须以标记开头$@
,但是从C#8开始,您可以使用$@
或@$
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句