C#: Конкатенация
Программы, которые создают разработчики постоянно оперируют строками. Всё, что мы видим на сайтах, в мобильных приложениях, так или иначе представлено в виде текста. Этот текст чаще всего динамический, то есть полученный из разных частей, которые соединяются вместе. Операция соединения строк в программировании называется конкатенацией.
// Оператор такой же, как и при сложении чисел
// но здесь он имеет другой смысл (семантику)
Console.WriteLine("Dragon" + "stone");
// => Dragonstone
Склеивание строк всегда происходит в том же порядке, в котором записаны операнды. Левый операнд становится левой частью строки, а правый — правой.
Вот еще несколько примеров:
Console.WriteLine("Kings" + "wood"); // => Kingswood
// Обратный порядок слов
Console.WriteLine("road" + "Kings"); // => roadKings
// Конкатенировать можно абсолютно любые строки
Console.WriteLine("King's" + "Landing"); // => King'sLanding
В последнем примере название города получилось с ошибкой: King's Landing нужно писать через пробел. Но в наших начальных строках не было пробелов, а пробелы в самом коде слева и справа от символа + не имеют значения, потому что они не являются частью строк.
Из этой ситуации есть три основных выхода:
// Ставим пробел в левой части
Console.WriteLine("King's " + "Landing"); // => King's Landing
// Ставим пробел в правой части
Console.WriteLine("King's" + " Landing"); // => King's Landing
// Добавляем пробел отдельно
Console.WriteLine("King's" + " " + "Landing"); // => King's Landing
Пробел — такой же символ, как и другие. Чем больше пробелов, тем шире отступы:
Console.WriteLine("King's " + " Landing"); // => King's Landing
Console.WriteLine("King's " + " Landing"); // => King's Landing
Задание
Используя Console.WriteLine(), выполните конкатенацию слов и выведите на экран фразу:
Winter came for the House of Frey.
Каждое слово должно быть записано отдельно и взято в кавычки, например 'Winter '. Не забудьте о пробелах после каждого слова.
Определения
Конкатенация — операция соединения двух строк. Например,
Console.WriteLine("King's " + " Landing");
