Экранирование строк
В обычной строке в двойных кавычках символ
\ начинает escape-последовательность:
\\ - слэш, \" - кавычка,
\n - перевод строки, \t - табуляция,
\uXXXX - символ по коду Unicode.
В дословной
и сырой
строке эти правила не нужны.
Синтаксис
"\\ \" \n \t \u0041"
Пример
Давайте выведем обратный слэш через \\
без перевода строки:
using System;
class Program
{
static void Main()
{
Console.WriteLine("a\\b");
}
}
Результат выполнения кода:
"a\b"
Пример
Давайте вставим перевод строки через \n:
using System;
class Program
{
static void Main()
{
Console.WriteLine("a\nb");
}
}
Результат выполнения кода:
a
b
Пример
Давайте выведем кавычки внутри строки через
\":
using System;
class Program
{
static void Main()
{
Console.WriteLine("say \"abcde\"");
}
}
Результат выполнения кода:
"say "abcde""
Пример
Давайте получим символ "'A'" через \u0041
и табуляцию через \t:
using System;
class Program
{
static void Main()
{
Console.WriteLine("\u0041");
Console.WriteLine("a\tb");
}
}
Результат выполнения кода:
"A"
"a b"
Смотрите также
-
дословная строка,
где слэш не экранирует следующий символ -
сырая строка,
которая хранит текст с переносами как есть -
интерполяция строк,
которая вставляет значения в литерал -
UTF-8 литерал,
который задаёт байты строки в UTF-8