c# - 没有@的编译错误

标签 c# escaping compiler-errors

如果我这样做

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/

相关文章:

c# - 带有 dontEscape 的 Uri 构造函数已过时,替代方案是什么?

python - Python错误: Global Name d not Defined

c - 未声明变量的操纵杆代码错误

c# - C#在线程间安全使用LINQ

C# : how can i control the percentage of work done while dumping with mysqldump?

c# - 将图片放入电子表格以填充整个单元格(合并单元格)

windows - 使用参数从 PowerShell 启动批处理文件

escaping - LibXML2 Sax 解析和 & 符号

compiler-errors - make文件编译错误 undefined symbol `strtoflt128'错误

c# - 替换一个字符串中的几个子串