Строки и текст: неизменяемость, интерполяция, дословные строки, 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);
}
}
Что означает неизменяемость
Итоги
Итоги: строки неизменяемы; используйте интерполяцию и 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 — локальная установка не требуется.
Все уроки этого курса
- Строки и текст: неизменяемость, интерполяция, дословные строки, StringBuilder, сравнение
- StringBuilder, сравнение и замечания о культуре
- char, основы Unicode, простой разбор и форматирование