Двойные кавычки можно экранировать следующим образом:
string test = @"He said to me, ""Hello World"". How are you?";
Но это включает в себя добавление символа "
в строку. Существует ли функция C # или другой метод для избежания двойных кавычек, чтобы не требовалось никаких изменений в строке?
c#
string
double-quotes
Мудассир Хасан
источник
источник
Ответы:
Нет.
Либо используйте дословные строковые литералы как есть, либо избегайте
"
использования обратной косой черты.Строка не изменилась ни в одном случае - в ней экранирован единственный
"
. Это просто способ сказать C #, что символ является частью строки, а не ограничителем строки.источник
Вы можете использовать обратную косую черту в любом случае;
Это печатает;
с точно такими же отпечатками;
Вот
DEMO
."
все еще является частью вашей строки.Проверьте
Escape Sequences
иString literals
из MSDN.источник
В C # вы можете использовать обратную косую черту для добавления специальных символов в вашу строку. Например, чтобы поставить ", нужно написать \". Есть много символов, которые вы пишете с помощью обратной косой черты: Обратная косая черта с номером:
Обратная косая черта с другим персонажем
источник
Вы недоразумение, убегая.
Дополнительные
"
символы являются частью строкового литерала; они интерпретируются компилятором как единое целое"
.Фактическое значение вашей строки по-прежнему
He said to me , "Hello World".How are you ?
, как вы увидите, если вы напечатаете его во время выполнения.источник
Пожалуйста, объясните вашу проблему. Ты говоришь:
Что это за проблема? Вы не можете печатать
string foo = "Foo"bar"";
, потому что это вызовет ошибку компиляции. Что касается добавляемой части, в терминах размера строки это не так:источник