Руководство для начинающих по программированию на .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):
- Значение
"Greetings "
присваивается переменнойconcatenatedString
. - Значение
"from .NET!"
добавляется в конец переменнойconcatenatedString
, а затем переназначается ей. - Программа пишет в консоль
"Greetings from .NET!"
.
Давайте подробнее рассмотрим строку concatenatedString = concatenatedString + "from .NET!";
, так как сначала ее может быть труднее понять.
Напоминание: оператор присваивания (
=
) имеет самый низкий приоритет, поэтому код справа (правый операнд) обрабатывается первым.
Вот изображение, которое поможет проанализировать код:
- Программа подготовила литеральную строку
"Greetings "
для шага 2. - Программа присваивает значение правого операнда (
"Greetings "
) переменнойconcatenatedString
. - Программа подготовила текущее значение переменной
concatenatedString
для шага 5 ("Greetings "
). - Программа подготовила литеральную строку
"from .NET!"
для шага 5. - Программа объединяет (объединяет) две строки в новую.
- Программа присваивает значение правого операнда (
"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 г.