C#包含与"\"不兼容

use*_*412 0 c# contains

嗯,这是一个noob问题......

我正在尝试使用:

if (string.Contains("\")) { return false; }
Run Code Online (Sandbox Code Playgroud)

但我收到的消息是:

换行不变

如何使用此方法检测字符串中的"\"?

Dav*_*vid 6

问题是在C#中,\是转义字符,因此\"你是如何在字符串中包含双引号而不是终止 - 请注意,即使在Stack Overflow中,文本也会变成"string"颜色.为了包含转义字符,双重转义,因此:

if (string.Contains("\\")) { return false; }
Run Code Online (Sandbox Code Playgroud)

或者,字符串"literals"允许您忽略双引号之外的任何转义字符(通过插入两次来转义)

if (string.Contains(@"\")) { return false; }
Run Code Online (Sandbox Code Playgroud)


The*_*uin 5

\字符串中的字符用来逃避其他字符-例如,\n是一个换行符,并且\"是双引号字符.

获取一个\字符的方法是转义它("\\")或者在字符串前加上,@这样编译器就不会转义字符(@"\").