Управление строками
Tip
Дополнительные сведения см. на вкладке "Текст и изображения ".
Текст является одним из наиболее распространенных типов данных в программировании. В C# текст представлен как строка — последовательность символов, заключенных в двойные кавычки. C# предоставляет множество встроенных способов управления и форматирования строк.
Конкатенация (объединение строк)
Вы можете объединить две или несколько строк в одну строку с помощью + оператора:
string first = "Hello";
string last = "world";
string message = first + ", " + last + "!";
Console.WriteLine(message);
Выходные данные:
Hello, world!
Хотя конкатенация отлично подходит для простых комбинаций, всё может быстро запутаться, когда вы пытаетесь сочетать переменные, знаки препинания и пробелы.
Лучший способ: интерполяция строк
Более чистый, современный способ объединения строк и переменных заключается в интерполяции строк. Чтобы создать такую строку, поместите знак доллара ($) непосредственно перед открывающей кавычкой, а имена переменных заключите в фигурные скобки {}:
string name = "Alex";
Console.WriteLine($"Hello, {name}!");
Выходные данные:
Hello, Alex!
Вы можете попробовать запустить этот код самостоятельно в редакторе кода C#.
Более чистый способ объединения входных и выходных данных
Интерполяция строк решает проблему, которую мы ранее видели с Console.ReadLine(). Теперь вы можете легко смешивать текст и переменные:
string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}! Nice to meet you.");
Это гораздо более чисто, чем объединение с +.
Note
Если вы забудете префикс $ (например, Console.WriteLine("Hello, {name}")), C# не будет обрабатывать содержимое внутри фигурных скобок — вместо этого он буквально выведет {name} на экран.
Распространенные строковые методы
Строки C# имеют множество встроенных методов для распространенных операций. Чтобы использовать метод, введите имя переменной, точку и имя метода, а затем круглые скобки:
| Метод | Что делает | Пример | Результат |
|---|---|---|---|
.ToUpper() |
Преобразует текст в верхний регистр | "hello".ToUpper() |
"HELLO" |
.ToLower() |
Преобразует текст в строчные буквы. | "HELLO".ToLower() |
"hello" |
.Replace(old, new) |
Заменяет определённые символы | "cat".Replace("c", "b") |
"bat" |
.Length |
Возвращает количество символов | "Alex".Length |
4 |
Практический пример
Вот как можно использовать эти методы вместе:
Console.Write("What's your name? ");
string name = Console.ReadLine();
string greeting = $"Welcome, {name.ToUpper()}!";
Console.WriteLine(greeting);
Если пользователь вводит alex, результат будет следующим:
What's your name? alex
Welcome, ALEX!
Обратите внимание, как .ToUpper() преобразовал введённый пользователем текст в верхний регистр, а интерполяция строк позволила легко объединить всё вместе.