String C# представляю собой переменную, содержащую текст. Внутри программы текст хранится как набор символов (char). Строки C# не содержат нуль-терминалов на конце. Потому строка может содержать любое количество символов.
Подпишись на группу Вконтакте и Телеграм-канал. Там еще больше полезного контента для программистов.
А на YouTube-канале ты найдешь обучающие видео по программированию. Подписывайся!
Для объявления строки может быть использовано несколько ключевых слов. Таким образом, string и System.String эквивалентны. Если точнее, string является псевдонимом String. Доступно множество разнообразных методов для сравнения, создания и обработки строк.
Инициализация строк в C#
На самом деле, существует несколько способов объявления и инициализации строк.
// Объявление строки.
string newString;
// Инициализация новой null - строки.
string nullString = null;
// Инициализация пустой строки.
// String.Empty - константа равная "".
// Хорошим тоном является сравнение строки с String.Empty, а не с "".
string emptyString = String.Empty;
// Инициализация строки с регулярным строковым литералом.
string somePath = "c:\SomePath";
// Инициализация строки с дословным строковым литералом.
string anotherPath = @"c:AnotherPath";
// Объявление строки при помощи System.String.
System.String salutation = "Hello World!";
// Инициализация строки через массив символов.
char[] chars = { 'A', 'B', 'C' };
string fromCharsArray = new string(chars);
Для инициализации пустой строки рекомендуется использовать string.Empty. Также, следует проверять наличие значения у строки перед её использованием. Для проверки лучше всего использовать метод string.IsNullOrEmpty(String).
Строки C# — особенности
Строки являются неизменяемыми. То есть, после инициализации значение строки изменить нельзя. По сути, любые операции над строками порождают новые объекты в памяти. Сложение строк, взятие подстроки, удаление символа, — всё это возвращает новую строчку и выделяет для нее память.
Возможность использования буквальных литералов. Иногда возникает необходимость передать текст со всеми переносами, отступами и иными особенностями. Именно в таких случаях может быть использован символ @ перед строкой. Понятнее будет на примере:
var firstText = "Мама мыла раму." +
" Большую раму." +
" Действительно большую раму.";
var secondText = @"Мама мыла раму.
Большую раму.
Действительно большую раму.";
Console.WriteLine(firstText);
Console.WriteLine();
Console.WriteLine(secondText);

Как вы видите, первое выражение выводится в одну строку. Вторая же попытка отображается ровно так, как была введена. Именно в этом сила буквальных литералов.
Еще одной приятной особенностью строк является возможность обращаться с ними, как с массивом. То есть, имея некоторый текст, мы можем получить любой его символ по индексу. Это в определенной степени облегчает нам жизнь при работе со строками.
В сумме по String C#
Итак, класс String предоставляет действительно впечатляющий набор методов по работе со строками. Простой выбор подстрок, поиск и замена символов, — фактически для всего найдется метод.
Кроме того, рекомендую прочитать статью SOLID C#. А также подписывайтесь на группу ВКонтакте, Telegram и YouTube-канал. Там еще больше полезного и интересного для программистов.