C# 包含不适用于“\”

C# Contains don't work's with "\"

好吧,这是一个菜鸟问题...

我正在尝试使用:

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

但我收到消息:

Newline in constant

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

你可以这样做

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

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

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

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

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

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

获取 \ 字符的方法是将其转义 ("\") 或在字符串前加上 @ 以便编译器不会转义字符 (@"\").