我阅读了一些C#文章,使用Path.Combine
组合路径(第1部分,第2部分)。
它使用以下内容:
string part1 = @"c:\temp";
string part2 = @"assembly.txt";
我可以知道第1部分和第2部分中@
的用途是什么吗?
答案 0 :(得分:59)
答案 1 :(得分:17)
正如其他人所说的一样,你不需要转义特殊字符,在指定文件路径时非常有用。
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";
答案 2 :(得分:13)
如C# Language Specification 4.0中所述:
2.4.4.5字符串文字
C#支持两种形式的字符串 文字:常规字符串文字和 逐字字符串文字。经常 字符串文字由零或 更多字符用double括起来 引号,如“你好”,可能包括 两个简单的转义序列(如 \ t为标签字符),和 十六进制和Unicode转义 序列。逐字字符串文字 由@字符后跟 双引号字符,零或更多 字符和结束双引号 字符。一个简单的例子是 @“你好”。在逐字字符串中 字面意思,字面之间的字符 分隔符是逐字解释的, 唯一的例外是a 引号转义序列。特别是, 简单的转义序列,和 十六进制和Unicode转义 不处理序列 逐字字符串文字。
答案 3 :(得分:4)
它表示逐字字符串文字,并允许您使用通常具有特殊含义的某些字符,例如\
(通常是转义字符)和新行。因此,在处理Windows路径时非常有用。
不使用@
,示例的第一行必须是:
string part1 = "c:\\temp";
更多信息here。
答案 4 :(得分:1)
使用@你不必逃避特殊字符。
所以你必须在没有@
的情况下写“c:\\ temp”如果更加假设它被称为“逐字”字符串。你可以在这里读到它:
http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx
答案 5 :(得分:1)
@ just表示指定字符串的不同方式,这样您就不必使用转义字符。唯一需要注意的是,双引号需要“”代表单个“。