Why assign a string with @?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
What's the @ in front of a string in C#?
这是我问了很长一段时间,但从来没有费心弄明白的事情。当我下载第三方库时,我经常看到在字符串前使用
1 | string myString = @"Some text"; |
但如果我只是这么做的话,似乎没有什么不同
1 | string myString ="Some text"; |
那么,
它表示逐字字符串文字,允许您不必转义某些字符:
1 | string foo = @"c:\some\path\filename.exe"; |
VS:
1 | string foo ="c:\\some\\path\\filename.exe"; |
1 2 | string reason = @"this string literal mea s something different with an @ in front than without"; |
如果没有@,上面的字符串将有一个新行字符,而不是单词"means"中的"n"。对于@,单词"means"看起来就像你看到的一样。此功能尤其适用于文件路径等情况:
1 2 | string path = @"C:\Users\LookMa oDoubleSlashes.txt"; |
它是一个逐字字符串文本。它允许您执行类似于
在这种情况下没有区别。"@"只允许省略转义反斜杠。如果使用"@"并希望在字符串中包含双引号,则需要将双引号加起来。