0Pricing
C# Academy · Урок

Необработанные строковые литералы

Удобно записывайте многострочный текст и текст с большим количеством кавычек.

«Необработанные строковые литералы» — бесплатный урок C# Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 4 уроков всего.

Необработанные строковые литералы

Необработанный строковый литерал заключается минимум в три двойные кавычки. Внутри символы воспринимаются буквально, без обработки escape-последовательностей.

using System;

class Program {
    static void Main() {
        string s = """Hello "World"!""";
        Console.WriteLine(s);
    }
}

Без escape-последовательностей

Обратные косые черты внутри необработанной строки остаются обычными обратными косыми чертами, что особенно удобно для путей к файлам и шаблонов регулярных выражений.

using System;

class Program {
    static void Main() {
        string path = """C:\Users\Ada\file.txt""";
        Console.WriteLine(path);
    }
}

Вставка кавычек

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

using System;

class Program {
    static void Main() {
        string json = """{"name": "Ada", "age": 30}""";
        Console.WriteLine(json);
    }
}

Многострочные необработанные строки

Для многострочного содержимого поместите открывающие и закрывающие кавычки на отдельные строки. Текст между ними сохраняется.

using System;

class Program {
    static void Main() {
        string text = """
        Line one
        Line two
        """;
        Console.WriteLine(text);
    }
}

Отступы удаляются

В многострочных необработанных строках пробелы перед закрывающими кавычками задают базовый отступ, который удаляется из каждой строки.

using System;

class Program {
    static void Main() {
        string s = """
            indented in source
            but flush in output
            """;
        Console.WriteLine(s);
    }
}

Больше кавычек для устранения конфликтов

Если содержимое включает три кавычки, используйте в разделителе четыре или больше кавычек, чтобы строка оставалась однозначной.

using System;

class Program {
    static void Main() {
        string s = """"He said """quote""" today."""";
        Console.WriteLine(s);
    }
}

Интерполяция необработанных строк

Добавьте перед необработанной строкой знак доллара, чтобы включить интерполяцию. Количество знаков доллара определяет, сколько фигурных скобок открывает выражение.

using System;

class Program {
    static void Main() {
        string name = "Ada";
        string s = $"""Hello, {name}!""";
        Console.WriteLine(s);
    }
}

Два знака доллара для буквальных фигурных скобок

При двух знаках доллара одиночные фигурные скобки являются буквальными, а двойные открывают выражение. Это удобно для шаблонов JSON.

using System;

class Program {
    static void Main() {
        string id = "42";
        string s = $$"""{ "id": {{id}} }""";
        Console.WriteLine(s);
    }
}

Чище, чем дословный формат

Необработанные строки заменяют многие случаи использования старой дословной формы, обеспечивая более понятную работу с кавычками и отступами.

using System;

class Program {
    static void Main() {
        string sql = """
        SELECT *
        FROM Users
        WHERE Active = 1
        """;
        Console.WriteLine(sql);
    }
}

Отличный вариант для шаблонов

Необработанные строки делают вставку JSON, XML, HTML или SQL более читаемой, поскольку внутри ничего не нужно экранировать.

using System;

class Program {
    static void Main() {
        string html = """<a href="/home">Home</a>""";
        Console.WriteLine(html);
    }
}

Когда их использовать

Выбирайте необработанные строки, когда в тексте много кавычек, обратных косых черт или он занимает несколько строк.

using System;

class Program {
    static void Main() {
        string regex = """\d{3}-\d{4}""";
        Console.WriteLine(regex);
    }
}

Быстрая проверка

Проверьте, насколько хорошо Вы понимаете необработанные строковые литералы.

Итоги

Необработанные строковые литералы используют три или более двойные кавычки и воспринимают содержимое буквально, без escape-последовательностей. Это особенно удобно для путей, регулярных выражений, JSON и HTML. Многострочные варианты сохраняют структуру и удаляют отступ перед закрывающими кавычками.

Если содержимое конфликтует с разделителем, добавьте кавычки, а для интерполяции добавьте знаки доллара. Дополнительные знаки доллара изменяют способ интерпретации фигурных скобок.

Часто задаваемые вопросы

Урок «Необработанные строковые литералы» бесплатный?

Да — полный текст урока «Необработанные строковые литералы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 4 уроков всего.

Чему я научусь в уроке «Необработанные строковые литералы»?

Удобно записывайте многострочный текст и текст с большим количеством кавычек. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Необработанные строковые литералы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы интерполяции строк
  2. Составное форматирование с string.Format
  3. Спецификаторы числового формата и формата даты
  4. Необработанные строковые литералы
← Назад к C# Academy