C#包含与“\”不兼容

时间:2015-02-06 01:34:45

标签: c# contains

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

我正在尝试使用:

if (string.Contains("\")) { return false; }

但我收到的消息是:

  

常量中的换行符

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

3 个答案:

答案 0 :(得分:6)

问题是在C#中,\是转义字符,因此\"是在字符串中包含双引号而不是终止的方式 - 注意文本转为" string& #34;即使在Stack Overflow中也有颜色 。为了包含转义字符,双重转义,因此:

if (string.Contains("\\")) { return false; }

或者,字符串"文字"允许你忽略任何没有双引号的转义字符(通过插入两次来转义)

if (string.Contains(@"\")) { return false; }

答案 1 :(得分:5)

字符串中的\字符用于转义其他字符 - 例如,\n是换行符,\"是双引号字符。

获取\字符的方法是将其转义("\\")或在字符串前加@,以便编译器不转义字符({{1} })。

答案 2 :(得分:1)

你可以做这样的事情

if (string.Contains("\\")) { return false; }