Ну, это нуб вопрос ...C# Содержит не работают с ""
Я пытаюсь использовать:
if (string.Contains("\")) { return false; }
Но я получаю сообщение:
Newline в постоянном
Как я могу использовать этот метод для обнаружения «\» в строке?
Ну, это нуб вопрос ...C# Содержит не работают с ""
Я пытаюсь использовать:
if (string.Contains("\")) { return false; }
Но я получаю сообщение:
Newline в постоянном
Как я могу использовать этот метод для обнаружения «\» в строке?
Символ в строке используется для вызова других символов - например, \n
- символ новой строки, а \"
- символ двойной кавычки.
Пути, чтобы получить \
характер либо, чтобы избежать его ("\\"
) или предварить строку с @
поэтому компилятором не ускользает символов (@"\"
).
вы можете сделать что-то вроде этого
if (string.Contains("\\")) { return false; }
Проблема заключается в том, что в C#, \
является маскирующим, таким образом \"
как включить двойные кавычки в строке, а не прекратить - обратите внимание, что текст превращает «строковый» цвет даже в переполнение стека. Для того, чтобы включить символ побега, двойной побег, таким образом:
if (string.Contains("\\")) { return false; }
В качестве альтернативы, строка «литералы» позволят вам игнорировать любой маскирующие доходя кавычки (который спасся с помощью вставки дважды)
if (string.Contains(@"\")) { return false; }
Хорошее объяснение с твердым возвратом примеров – Tommy
Что лучше? – user3571412
Это вопрос предпочтения. Лично в этом случае я бы сбежал ('' \\ "') и использовал только '@' для более длинных или более запутывающих строк - пути к файлам или регулярные выражения и т. Д. – TheEvilPenguin
Я знаю, что вы исправите комментарий, отредактировав его, но Мне нравится ирония вашего последнего комментария. –