Сырая строка
Литерал в тройных кавычках """ начинается
с новой строки после открывающих кавычек.
Закрывающие """ задают отступ, который
срезается с каждой строки текста. Кавычки
и обратные слэши внутри пишут как в обычном
тексте, без последовательностей вроде
\n.
Синтаксис
"""
строка текста
"""
Пример
Давайте запишем "abcde" в сыром литерале.
Перед закрывающими кавычками остаётся перевод
строки, поэтому длина на единицу больше:
using System;
class Program
{
static void Main()
{
string str = """
abcde
""";
Console.WriteLine(str.Length);
}
}
Результат выполнения кода:
6
Пример
Давайте сохраним две строки текста в одном литерале:
using System;
class Program
{
static void Main()
{
string str = """
line one
line two
""";
foreach (string line in str.Split('\n', StringSplitOptions.RemoveEmptyEntries))
{
Console.WriteLine(line);
}
}
}
Результат выполнения кода:
"line one"
"line two"
Пример
Давайте вставим кавычки вокруг слова и срежем хвостовой перевод строки:
using System;
class Program
{
static void Main()
{
string str = """
said "abcde"
""";
Console.WriteLine(str.Trim());
}
}
Результат выполнения кода:
"said "abcde""
Пример
Давайте измерим длину вместе с переводами строк:
using System;
class Program
{
static void Main()
{
string str = """
ab
cde
""";
Console.WriteLine(str.Length);
}
}
Результат выполнения кода:
7
Смотрите также
-
дословная строка,
которая начинается с символа@ -
интерполяция строк,
которая подставляет значения в текст -
экранирование строк,
которое нужно в обычных литералах -
UTF-8 литерал,
который задаёт байты строки в UTF-8