Могу ли я избежать двойной кавычки в стенографическом литерале?
В дословном строковом литерале (@ “foo”) в C # обратные косые черты не рассматриваются как escape-последовательности, поэтому выполнение \ “, чтобы получить двойную кавычку, не работает. Есть ли способ получить двойную кавычку в стенографическом литерале verbatim ?
Это понятно не работает:
string foo = @"this \"word\" is escaped";
Используйте дублированную двойную кавычку.
@"this ""word"" is escaped";
выходы:
this "word" is escaped
Используйте двойные кавычки.
string foo = @"this ""word"" is escaped";
Чтобы добавить дополнительную информацию, ваш пример будет работать без символа @
(это предотвратит экранирование с помощью \), таким образом:
string foo = "this \"word\" is escaped!";
Он будет работать в обоих направлениях, но я предпочитаю стиль двойной кавычки, чтобы он был легче работать, например, с именами файлов (с большим количеством строк в строке).
Это должно помочь прояснить любые вопросы, которые могут возникнуть: c # литералы
Вот таблица из связанного контента: