如何编写Console.Writeline(“\ | \ / \ | /”);并忽略“无法识别的转义序列”错误?

时间:2013-02-28 17:43:34

标签: c# console-application console.writeline

例如,我不想要这行代码:Console.Writeline(" \|\/ \| /");来干扰程序,因为目前我收到错误无法识别的转义序列但我不知道想要使用转义序列,我只想让这些字符本身出现在控制台上。 有没有办法做到这一点?感谢您抽出宝贵时间阅读。

8 个答案:

答案 0 :(得分:6)

听起来我想要一个逐字字符串文字,它不会将反斜杠视为转义字符,并且还允许使用多行文字:

Console.Writeline(@" \|\/ \| /");

有关详细信息,请参阅MSDNthe "literals" section of my article on strings。请注意, 仍然需要一些双引号的工作。

答案 1 :(得分:3)

Console.Writeline(@" \|/ \| /");

MSDN string (C# Reference)

答案 2 :(得分:3)

使用

Console.Writeline(@" \|/ \| /");

@字符告诉编译器不处理转义序列。

答案 3 :(得分:3)

将其写为Console.WriteLine(@" \|/ \| /")@符号告诉visual studio使用完全相同的字符串。

或者,将每个\替换为\\,这是显示\的转义序列。

答案 4 :(得分:2)

您可以使用名为verbatim string literal

@
Console.Writeline(@" \|/ \| /");
  

逐字字符串文字由@字符后跟a组成   双引号字符,零个或多个字符,以及结束   双引号字符。一个简单的例子就是@“你好”。在逐字   字符串文字,解释分隔符之间的字符   逐字,唯一的例外是引用转义序列。在   特别是,简单的转义序列和十六进制和Unicode转义   序列不以逐字字符串文字处理。

答案 5 :(得分:2)

  

我只是希望这些角色本身出现在控制台上。

然后您必须使用转义序列或verbatim string literal

Console.Writeline(@" \|/ \| /");

答案 6 :(得分:0)

在字符串前面添加“@”,如

@" \|/ \| /"

答案 7 :(得分:-1)

或者,您可以正确地使用(并理解)转义序列。要在字符串中使用\,您需要将它们转义。请参阅http://msdn.microsoft.com/en-us/library/h21280bw.aspx以获取参考

所以,你的实际命令是

// Escaped characters make this show up as "\|/ \| /"
Console.Writeline(" \\|/ \\| /");

但输出结果为\|/ \| /