@前缀对C#中的字符串文字有什么作用

|| 我读了一些C#文章,使用
Path.Combine
(part1,part2)合并路径。 它使用以下内容:
string part1 = @\"c:\\temp\";
string part2 = @\"assembly.txt\";
我可以知道第1部分和第2部分中的
@
有什么用吗?     
已邀请:
@
与任何方法无关。 这意味着您不需要在符号后的字符串中转义特殊字符:
@\"c:\\temp\"
等于
\"c:\\\\temp\"
这样的字符串称为\'verbatim \'或@引号。请参阅MSDN。     
正如其他人所说的那样,它使您不必转义特殊字符,这在指定文件路径时非常有用。
string s1 =@\"C:\\MyFolder\\Blue.jpg\";
还有一种用法是,当您有较大的字符串并且希望将其显示在多行而不是长行中时。
string s2 =@\"This could be very large string something like a Select query
which you would want to be shown spanning across multiple lines 
rather than scrolling to the right and see what it all reads up\";
    
如C#语言规范4.0中所述:   2.4.4.5字符串文字      C#支持两种形式的字符串   文字:常规字符串文字和   逐字字符串文字。一个普通的   字符串文字包含零或   双引号中包含更多字符   引号,例如\“ hello \”,并可能包括   两个简单的转义序列(例如   \\ t(制表符),和   十六进制和Unicode转义   序列。逐字字符串文字   由@字符后跟   双引号字符,零个或多个   字符和右双引号   字符。一个简单的例子是   @\“你好\”。在逐字字符串中   文字之间的字符   定界符逐字解释,   唯一的例外是   引用转义序列。尤其是,   简单的转义序列,以及   十六进制和Unicode转义   序列不处理   逐字字符串文字。     
它表示逐字字符串文字,并允许您使用通常具有特殊含义的某些字符,例如example8ѭ(通常是转义字符)和换行符。因此,在处理Windows路径时非常有用。 如果不使用
@
,则示例的第一行必须为:
string part1 = \"c:\\\\temp\";
更多信息在这里。     
使用@,您不必转义特殊字符。 因此,您必须使用\“ c:\\\\ temp \”而不使用@ 如果更精确,则称为\'verbatim \'字符串。您可以在此处阅读: http://msdn.microsoft.com/zh-CN/library/aa691090(v=vs.71).aspx     
@只是表示指定字符串的另一种方式,这样您就不必使用来转义字符。唯一的警告是,双引号必须为\“ \”才能表示单个\“。     

要回复问题请先登录注册