Интерполяция строк
Строка с префиксом $ - интерполированная:
внутри {выражение} подставляется результат
выражения. Чтобы вывести сами фигурные скобки,
их удваивают - {{ и }}. Обычные
правила экранирования
в таких строках по-прежнему действуют.
Синтаксис
$"текст {выражение} текст"
$"{{литеральные скобки}}"
Пример
Давайте вставим число 12 между "ab"
и "de":
using System;
class Program
{
static void Main()
{
int num = 12;
Console.WriteLine($"ab{num}de");
}
}
Результат выполнения кода:
"ab12de"
Пример
Давайте объединим две переменные в одном тексте:
using System;
class Program
{
static void Main()
{
int left = 1;
int right = 2;
Console.WriteLine($"values: {left} {right}");
}
}
Результат выполнения кода:
"values: 1 2"
Пример
Давайте выведем фигурные скобки как символы через удвоение:
using System;
class Program
{
static void Main()
{
Console.WriteLine($"{{braces}}");
}
}
Результат выполнения кода:
"{braces}"
Пример
Давайте вставим длину строки "abcde":
using System;
class Program
{
static void Main()
{
string str = "abcde";
Console.WriteLine($"length: {str.Length}");
}
}
Результат выполнения кода:
"length: 5"
Смотрите также
-
сырая строка,
которая хранит текст с переносами как есть -
дословная строка,
которая не требует экранов обратного слэша -
экранирование строк,
которое задаёт спецсимволы в литерале -
оператор
nameof,
который часто вставляют в сообщения об ошибках