Kje*_*sen 82 .net c# string escaping path
以下代码为每个反斜杠生成有关"无法识别的转义序列"的编译器错误:
string foo = "D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
我想我需要逃避反斜杠?我怎么做?
Bra*_*don 208
您可以每次使用双反斜杠
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
或使用@符号
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
Jos*_*osh 25
试试这个:
string foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
问题是在字符串中,a \是转义字符.通过使用@符号,您告诉编译器忽略转义字符.
你也可以通过以下方式逃脱\:
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
Pio*_*pla 12
var foo = @"D:\Projects\Some\Kind\Of\Pathproblem\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
如果您的字符串是文件路径,如您的示例所示,您还可以使用Unix样式文件路径:
string foo = "D:/Projects/Some/Kind/Of/Pathproblem/wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
但其他答案有更普遍的解决方案来解决C#中的字符串转义问题.
string foo = "D:\\Projects\\Some\\Kind\\Of\\Pathproblem\\wuhoo.xml";
Run Code Online (Sandbox Code Playgroud)
这将起作用,或者前面的例子也将起作用.@"..."意味着直接处理引号之间的所有内容,所以你可以这样做
@"Hello
world"
Run Code Online (Sandbox Code Playgroud)
包含文字换行符.我更老了,更喜欢用"\\"来逃避"\"
| 归档时间: |
|
| 查看次数: |
216000 次 |
| 最近记录: |