0Pricing
C# Academy · Урок

Строки и текст: неизменяемость, интерполяция, дословные строки, StringBuilder, сравнение

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

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

Обзор текста

Цель: безопасно и эффективно работать со строками.

  • Неизменяемость
  • Интерполяция и escape-последовательности
  • Дословные строки
  • StringBuilder
  • Сравнение и особенности культуры

Неизменяемость

Неизменяемые строки: методы вроде ToUpper или Replace возвращают новые строки, а исходные остаются без изменений.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string s = "hello";
    string upper = s.ToUpper();           // new string
    Console.WriteLine("s = " + s);        // hello
    Console.WriteLine("upper = " + upper);// HELLO

    string replaced = s.Replace("h", "y"); // new string
    Console.WriteLine("replaced = " + replaced);
  }
}

Интерполяция и escape-последовательности

Интерполяция использует $"...". Распространенные escape-последовательности: \\n — новая строка, \\" — кавычка, \\\\ — обратная косая черта.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string name = "Ada";
    int score = 95;

    // C# 6 string interpolation and escapes
    string msg = $"Hi {name}, score = {score}";
    string quoted = "She said \"hi\"";
    string line = "first line\nsecond line";

    Console.WriteLine(msg);
    Console.WriteLine(quoted);
    Console.WriteLine(line);
  }
}

Дословные строки

Дословные строки начинаются с @: они особенно удобны для путей Windows и многострочного текста.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Verbatim string keeps backslashes and newlines as typed
    string path = @"C:\Projects\Demo\readme.txt";
    string multi = @"Line1
Line2";
    Console.WriteLine(path);
    Console.WriteLine(multi);
  }
}

StringBuilder

При большом количестве объединений используйте StringBuilder, чтобы уменьшить число выделений памяти и повысить производительность.

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    var sb = new StringBuilder();
    for (int i = 1; i <= 3; i = i + 1)
    {
      sb.Append("Item ").Append(i).Append(", ");
    }
    string result = sb.ToString();
    Console.WriteLine(result);
  }
}

Сравнение и культура; тип char

Используйте StringComparison, чтобы управлять сравнением, например OrdinalIgnoreCase. char — это кодовая единица UTF-16; некоторым эмодзи нужны суррогатные пары, что выходит за рамки этого введения.

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    string a = "file";
    string b = "FILE";

    // Case-insensitive, culture-invariant comparison
    bool same = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
    Console.WriteLine("Same (ord ignore case) = " + same);

    // Culture example: ToUpper with current culture
    string iDot = "i";
    string upper = iDot.ToUpper(CultureInfo.CurrentCulture);
    Console.WriteLine("Upper(i) in current culture = " + upper);

  }
}

Что означает неизменяемость

Быстрая проверка: что означает, что строки в C# неизменяемы?

Итоги

Итоги: строки неизменяемы; используйте интерполяцию и escape-последовательности; для путей предпочитайте @; при большом количестве добавлений используйте StringBuilder; сравнивайте с помощью StringComparison; помните, что char — это единица UTF-16.

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

Урок «Строки и текст: неизменяемость, интерполяция, дословные строки, StringBuilder, сравнение» бесплатный?

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

Чему я научусь в уроке «Строки и текст: неизменяемость, интерполяция, дословные строки, StringBuilder, сравнение»?

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

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

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

Сколько времени занимает урок «Строки и текст: неизменяемость, интерполяция, дословные строки, StringBuilder, сравнение»?

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

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

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

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

  1. Строки и текст: неизменяемость, интерполяция, дословные строки, StringBuilder, сравнение
  2. StringBuilder, сравнение и замечания о культуре
  3. char, основы Unicode, простой разбор и форматирование
← Назад к C# Academy