Elementor Header #8

13. Экранирующие последовательности

1. Введение

Экранирующие последовательности (escape sequences) в C# используются для вставки специальных символов в строковые (string) и символьные (char) значения. Они начинаются с обратного слэша \, после которого идет управляющий символ.

Экранирование необходимо, когда требуется включить спецсимволы (например, " или \) в строку, либо управлять форматированием текста (например, перенос строк \n или табуляция \t).


2. Основные экранирующие последовательности в C#

КодОписаниеПримерРезультат
\"Двойные кавычки"Он сказал: \"Привет!\""Он сказал: "Привет!"
\'Одинарная кавычкаchar apostrophe = '\'';'
\\Обратный слэш"C:\\Program Files\\"C:\Program Files\
\nНовая строка"Первая строка\nВторая строка"Первая строка ↵ Вторая строка
\tТабуляция"Колонка1\tКолонка2"Колонка1 Колонка2
\rВозврат каретки (редко используется)"\rHello"Перенос курсора на начало строки
\bBackspace (удаляет символ слева)"Hello\b!"Hell!
\fПеревод страницы (редко используется)
\vВертикальная табуляция"Привет\vМир"ПриветМир
\0Null-символchar zero = '\0';NUL (пустой символ)

3. Примеры использования

3.1. Вывод кавычек в строке

				
					string text = "Он сказал: \"Привет!\"";
Console.WriteLine(text); // Он сказал: "Привет!"

				
			

3.2. Вывод пути к файлу

				
					string path = "C:\\Users\\Admin\\Documents";
Console.WriteLine(path); // C:\Users\Admin\Documents

				
			
3.3. Перенос строки \n
				
					string message = "Первая строка\nВторая строка";
Console.WriteLine(message);

				
			
Вывод:
				
					Первая строка
Вторая строка

				
			
3.4. Табуляция \t
				
					string table = "Имя\tВозраст\tГород";
Console.WriteLine(table);

				
			
Вывод:
				
					Имя     Возраст Город

				
			

3.5. Backspace \b

				
					string str = "Hello\b!";
Console.WriteLine(str); // Hell!

				
			

4. Альтернативный способ – Вербатим-строки (@)

Если нужно записать строку с \, без экранирования, используйте вербатим-строки (@).

				
					string path = @"C:\Users\Admin\Documents";
Console.WriteLine(path);

				
			

📌 Вербатим-строки (@) игнорируют \, но внутри все же можно использовать "" для кавычек.

5. Новые многострочные строки (""" – C# 11+)

В C# 11+ появились многострочные строки с тройными кавычками.

				
					string text = """
    Это многострочная строка
    без необходимости экранировать "кавычки"
    и обратные слэши: C:\Program Files\
    """;

Console.WriteLine(text);

				
			

📌 В отличие от @, они автоматически форматируют отступы.


Заключение

Экранирующие последовательности позволяют вставлять спецсимволы в строки.
@ (вербатим-строки) удобны для путей и многострочного текста.
""" (C# 11+ многострочные строки) помогают избежать экранирования.
✔ Используйте \n, \t, \\, \" и другие escape-последовательности для корректного форматирования вывода.

Теперь вы знаете, как правильно работать с экранирующими символами в C#! 🚀

6. Тестовое задание

Задание 1: Исправьте ошибки

Что не так в этом коде?

				
					string path = "C:\Users\Admin"; // Ошибка
string quote = "Она сказала: "Привет!""; // Ошибка

				
			

Правильный код:

				
					string path = "C:\\Users\\Admin";
string quote = "Она сказала: \"Привет!\"";

				
			

Задание 2: Напишите программу

Выведите следующий текст с использованием экранирующих последовательностей:

				
					Имя      Возраст    Город
Иван     25        Москва
Анна     30        Санкт-Петербург

				
			

Пример кода:

				
					using System;

class Program
{
    static void Main()
    {
        string table = "Имя\tВозраст\tГород\nИван\t25\tМосква\nАнна\t30\tСанкт-Петербург";
        Console.WriteLine(table);
    }
}

				
			

Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.

logo