嗯,这是一个noob问题...C#包含不工作的 “”
我试图使用方法:
if (string.Contains("\")) { return false; }
但我收到消息:
换行中的换行
如何使用此方法检测字符串中的“\”?
嗯,这是一个noob问题...C#包含不工作的 “”
我试图使用方法:
if (string.Contains("\")) { return false; }
但我收到消息:
换行中的换行
如何使用此方法检测字符串中的“\”?
\
字符串中的字符用于转义其他字符 - 例如,\n
是换行符,而\"
是双引号字符。
的方式来获得\
字符是逃避它("\\"
)或@
所以编译器不转义字符(@"\"
)到前言字符串。
你可以做这样的事情
if (string.Contains("\\")) { return false; }
的问题是,在C#中,\
是转义字符,从而\"
是你如何包括在字符串中的双引号,而不是终止 - 注意文即使在堆栈溢出也变成“字符串”颜色。为了包括转义字符,双逃逸,从而:
if (string.Contains("\\")) { return false; }
可替换地,串“文字”允许忽略双引号的任何转义字符短(这是通过将其插入两次转义)
if (string.Contains(@"\")) { return false; }
很好的解释与固体回落示例 – Tommy 2015-02-06 01:38:57
什么是更好的? – user3571412 2015-02-06 01:38:25
这是一个偏好问题。个人在这种情况下,我会逃避('“\\”'),只使用'@'来处理更长或更混乱的字符串 - 文件路径或正则表达式等。 – TheEvilPenguin 2015-02-06 01:39:34
我知道您将通过编辑修复注释,但我喜欢你最后评论的讽刺意味。 – 2015-02-06 01:40:46