嗯,這是一個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