C#不会逃脱"\"?

Eri*_*ric 1 c#

可能重复:
如何在字符串中使用"\"而不使其成为转义序列 - C#?

当我使用像"\ themes\default\layout.png"这样的字符串时,为什么它在C#中给我一个错误?在"d"和"l"位置?它说无法识别的逃逸序列.当我使用时,如何阻止它给我一个错误:"\"?

Thans

Dar*_*rov 8

你需要额外逃脱它\:

string value = "\\themes\\default\\layout.png";
Run Code Online (Sandbox Code Playgroud)

或使用@符号:

string value = @"\themes\default\layout.png";
Run Code Online (Sandbox Code Playgroud)

这将避免你加倍\.

或者,如果您正在处理路径(这似乎是您的路径),您可以使用Path.Combine方法:

string value = Path.Combine(@"\", "themes", "default", "layout.jpg");
Run Code Online (Sandbox Code Playgroud)

  • 是的,这就是你想要的.第二个示例@DarinDimitrov提供了一个名为Verbatim String Literal,它忽略除Quote Escape Sequences之外的所有转义序列.您可以在此处阅读有关C#字符串文字的更多信息:http://msdn.microsoft.com/en-us/library/aa691090(v = vs.71).aspx (2认同)