Руководство для начинающих по программированию на .NET 5 и C#

В этой статье мы углубимся в тип string. Мы также исследуем, как конкатенировать (объединять) строки. Как программист, вам часто придется манипулировать строками, конкатенация и интерполяция являются двумя повторяющимися темами. Мы рассмотрим интерполяцию в следующем выпуске.

Эта статья является частью серии статей об обучении программированию, в которых вам не нужны предварительные знания в области программирования. Если вы хотите научиться программировать и хотите научиться этому, используя .NET/C#, это правильное место. Я предлагаю прочитать всю серию по порядку, начиная с Создание вашей первой программы на .NET/C#, но это не обязательно.

Струны

В C# строка представляет собой последовательность символов, заключенных в кавычки ("). В предыдущих статьях мы использовали строки для вывода текста в консоль.

Напомню, вот как создать строковую переменную:

var name = "Superman";

Мы уже использовали струны, так что не нужно здесь долго задерживаться. Далее мы исследуем новый контент: многострочные строки.

Многострочные строки

В C# мы можем создавать многострочные строки, добавляя перед строкой символ @. Как следует из названия, единственное отличие заключается в возможности установить содержимое строки в несколько строк.

Вот пример многострочной строки:

var name = @"This
is
a
multiline
string!";
// More code here...

Но следите за подробностями. Например, в следующем коде первый и последний символы представляют собой новую строку, что может оказаться не тем, что вы ожидали написать.

var name = @"
This
is
a
multiline
string!
";
// More code here...

Многострочные строки удобны в различных сценариях, когда вы не хотите использовать конкатенацию. В качестве введения в строки я не буду вдаваться в подробности. Однако существует множество методов манипулирования строками, их сравнения или оптимизации их использования.

Далее мы рассмотрим основной предмет: конкатенацию.

Конкатенация

Конкатенация — это действие по соединению нескольких строк вместе для создания новой; объединение строк, если хотите. В C# оператором конкатенации является символ +. Оператор+ объединяет оба строковых операнда (значения слева и справа) в новую строку. Давайте рассмотрим пример, чтобы упростить обучение:

var concatenatedString = "Greetings " + "from .NET!";
Console.WriteLine(concatenatedString);

Предыдущий код объединяет строки "Greetings " и "from .NET!" в "Greetings from .NET!".

Обратите внимание на пробел после слова Greetings. Без него объединенная строка была бы "Greetingsfrom .NET!".

Другой способ сделать это, который более вероятен, чем то, что мы только что сделали, — это присвоить значение переменной, а затем обновить это значение. Вот пример этого:

var concatenatedString = "Greetings ";
concatenatedString = concatenatedString + "from .NET!";
Console.WriteLine(concatenatedString);

Предыдущий код делает то же самое, что и "Greetings " + "from .NET!", но состоит из двух шагов (пункты 1 и 2):

  1. Значение "Greetings " присваивается переменной concatenatedString.
  2. Значение "from .NET!" добавляется в конец переменной concatenatedString, а затем переназначается ей.
  3. Программа пишет в консоль "Greetings from .NET!".

Давайте подробнее рассмотрим строку concatenatedString = concatenatedString + "from .NET!";, так как сначала ее может быть труднее понять.

Напоминание: оператор присваивания (=) имеет самый низкий приоритет, поэтому код справа (правый операнд) обрабатывается первым.

Вот изображение, которое поможет проанализировать код:

  1. Программа подготовила литеральную строку "Greetings " для шага 2.
  2. Программа присваивает значение правого операнда ("Greetings ") переменной concatenatedString.
  3. Программа подготовила текущее значение переменной concatenatedString для шага 5 ("Greetings ").
  4. Программа подготовила литеральную строку "from .NET!" для шага 5.
  5. Программа объединяет (объединяет) две строки в новую.
  6. Программа присваивает значение правого операнда ("Greetings from .NET!") переменной concatenatedString, заменяя ее значение.

Примечание. Сначала вы видите шаги с 3 по 5, как один большой шаг, затем программа переходит к шагу 6.

Теперь, когда мы рассмотрели это, у этого процесса есть ярлык: оператор +=. Вы можете видеть оператор += как комбинацию конкатенации (+) и присваивания (=). Предыдущий пример с использованием оператора += выглядел бы так:

var concatenatedString = "Greetings ";
concatenatedString += "from .NET!";
Console.WriteLine(concatenatedString);

Вторая строка кода упрощена по сравнению с предыдущим блоком. Он делает то же самое, без необходимости указывать, что concatenatedString = concatenatedString + [something else]. Этот новый синтаксис удаляет ненужные фрагменты, уменьшая длину строки кода и, скорее всего, даже облегчая чтение.

Достаточно теории; теперь ваша очередь попробовать.

Упражнение

Чтобы попрактиковаться в конкатенации, мы обновим код из упражнения из предыдущей статьи, но изменим его. К сожалению, мне не удалось воссоздать упражнение на этой платформе, поэтому, пожалуйста, посмотрите упражнение в оригинальном посте в моем блоге. Извините за неудобства.

Вывод

В этой статье мы узнали, что при необходимости можем писать многострочные строки. Мы также узнали о конкатенации, которая объединяет несколько строк в новую. Оператор конкатенации — это символ +. Мы также смотрим на оператор+=. += позволяет нам комбинировать операторы конкатенации и присваивания. Его использование может упростить наш код и удалить шаг. В программах часто используется конкатенация, что делает ее необходимым знанием.

Следующий шаг

Пришло время перейти к следующей статье: Введение в интерполяцию строк, которая скоро выйдет. Оставайтесь с нами, следуя за мной на Medium, Twitter или в других местах, где вы можете меня найти. Вы можете посмотреть на страницу контактов моего блога для получения дополнительной информации.

Первоначально опубликовано на https://www.forevolve.com 21 марта 2021 г.