Управление строками

Завершено

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() преобразовал введённый пользователем текст в верхний регистр, а интерполяция строк позволила легко объединить всё вместе.