如果我这样做
movies = new List<string>();
movies.Add("t:\Alistair.flv");
我在 VS2010 中遇到错误
Unrecognized escape sequence
但是当我这样做时
movies = new List<string>();
movies.Add(@"t:\Alistair.flv");
没有错误,为什么?
最佳答案
你的第一个例子:
"t:\Alistair.flv"
这里编译器尝试将 \A
解析为转义序列,但无法理解它。
第二个
@"t:\Alistair.flv"
告诉编译器逐字处理字符串,因此忽略任何转义字符。
这个也可以工作,因为\\是退格键的转义字符:
"t:\\Alistair.flv"
有关此的技术细节可以找到 here .
关于c# - 没有@的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4860614/