对于含有反斜线路径字符串无法识别的转义序列(Unrecognized escape sequence

2019-06-18 14:12发布

下面的代码生成有关每个反斜杠一个“无法识别转义序列”编译错误:

string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";

我想我需要转义反斜线? 我怎么做?

Answer 1:

您可以在每个时间既可以使用双反斜线

string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";

或使用@符号

string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";


Answer 2:

试试这个:

string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";

问题是,在一个字符串中, \是转义字符。 通过使用@符号告诉编译忽略转义字符。

您还可以逃离度日\

string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";


Answer 3:

var foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";


Answer 4:

如果你的字符串是文件路径,如你的榜样,你也可以使用Unix样式的文件路径:

string foo = "D:/Projects/Some/Kind/Of/Pathproblem/wuhoo.xml";

但其他的答案有更广泛的解决方案,以字符串在C#中逃脱。



Answer 5:

string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";

这将工作,或者前面的例子中亦如此。 @“...”是指治疗引号之间的一切从字面上看,这样你就可以做

@"Hello
world"

要想包含文字换行。 我更老同学,喜欢逃避“\”与“\\”



文章来源: Unrecognized escape sequence for path string containing backslashes