3

例如,我不希望这行代码:Console.Writeline(" \|\/ \| /");干扰程序,因为目前我收到错误 Unrecognized escape sequence 但我不想使用转义序列,我只希望这些字符本身出现在控制台上。有没有办法做到这一点?感谢您花时间阅读。

4

8 回答 8

6

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

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

有关详细信息,请参阅MSDN我关于字符串的文章的“文字”部分。请注意,对于双引号,您仍然需要做一些工作。

于 2013-02-28T17:44:36.080 回答
3
Console.Writeline(@" \|/ \| /");

MSDN 字符串(C# 参考)

于 2013-02-28T17:44:23.913 回答
3

利用

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

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

于 2013-02-28T17:44:30.433 回答
3

写成Console.WriteLine(@" \|/ \| /"). 该@符号告诉 Visual Studio 完全按照所写的方式使用字符串。

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

于 2013-02-28T17:45:40.087 回答
2

您可以使用@调用verbatim string literal

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

逐字字符串文字由一个 @ 字符后跟一个双引号字符、零个或多个字符以及一个结束双引号字符组成。一个简单的例子是@"hello"。在逐字字符串文字中,分隔符之间的字符被逐字解释,唯一的例外是引号转义序列。特别是,简单的转义序列以及十六进制和 Unicode 转义序列不会在逐字字符串文字中进行处理。

于 2013-02-28T17:44:49.023 回答
2

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

然后你要么必须使用转义序列,要么使用逐字字符串文字

Console.Writeline(@" \|/ \| /");
于 2013-02-28T17:44:50.827 回答
0

在字符串前面加上一个“@”,比如

@" \|/ \| /"
于 2013-02-28T17:44:44.837 回答
-1

或者,您实际上可以正确使用(并理解)转义序列。要\在您的字符串中使用,您需要对它们进行转义。请参阅http://msdn.microsoft.com/en-us/library/h21280bw.aspx以供参考

所以,你的实际命令是

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

但输出将是\|/ \| /

于 2013-02-28T17:48:38.590 回答