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