下面的代码生成有关每个反斜杠一个“无法识别转义序列”编译错误:
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
我想我需要转义反斜线? 我怎么做?
下面的代码生成有关每个反斜杠一个“无法识别转义序列”编译错误:
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
我想我需要转义反斜线? 我怎么做?
您可以在每个时间既可以使用双反斜线
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
或使用@符号
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
试试这个:
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
问题是,在一个字符串中, \
是转义字符。 通过使用@
符号告诉编译忽略转义字符。
您还可以逃离度日\
:
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
var foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
如果你的字符串是文件路径,如你的榜样,你也可以使用Unix样式的文件路径:
string foo = "D:/Projects/Some/Kind/Of/Pathproblem/wuhoo.xml";
但其他的答案有更广泛的解决方案,以字符串在C#中逃脱。
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
这将工作,或者前面的例子中亦如此。 @“...”是指治疗引号之间的一切从字面上看,这样你就可以做
@"Hello
world"
要想包含文字换行。 我更老同学,喜欢逃避“\”与“\\”