Elementor Header #8

20. Переменные и конкатенация

1. Введение

Переменные в C# используются для хранения данных, а конкатенация — это процесс объединения строк. В C# существует несколько способов конкатенации, включая оператор +, метод string.Concat(), интерполяцию строк и StringBuilder.


2. Объявление переменных и их использование

Перед конкатенацией строк важно понимать, как объявлять переменные:

				
					string firstName = "Иван";
string lastName = "Петров";
int age = 25;

				
			

3. Способы конкатенации строк

3.1. Оператор + (Простая конкатенация)

Самый простой способ объединения строк — использовать оператор +.

				
					string fullName = firstName + " " + lastName;
Console.WriteLine("Полное имя: " + fullName);

				
			
Вывод:
				
					Полное имя: Иван Петров

				
			

Минусы метода +:

  • При работе с большим количеством строк может снижаться производительность.

3.2. Метод string.Concat()

Альтернативный способ конкатенации — метод string.Concat().

				
					string result = string.Concat(firstName, " ", lastName);
Console.WriteLine(result);

				
			

Вывод:

				
					Иван Петров

				
			

3.3. Интерполяция строк ($) — лучший способ

Современный и удобный способ объединения строк — интерполяция (использование $ перед строкой).

				
					string message = $"Меня зовут {firstName} {lastName}, мне {age} лет.";
Console.WriteLine(message);

				
			

Вывод:

				
					Меня зовут Иван Петров, мне 25 лет.

				
			

Преимущества интерполяции:

  • Читаемый код.
  • Можно легко вставлять переменные прямо в текст.

3.4. Использование StringBuilder для больших строк

Если требуется объединить много строк, лучше использовать StringBuilder, так как он эффективнее при частых изменениях строки.

 
				
					using System.Text;

StringBuilder sb = new StringBuilder();
sb.Append("Имя: ").Append(firstName).Append(" ").Append(lastName).Append("\n");
sb.Append("Возраст: ").Append(age);
Console.WriteLine(sb.ToString());

				
			

Вывод:

				
					Имя: Иван Петров
Возраст: 25

				
			

Преимущества StringBuilder:

  • Высокая производительность при объединении большого количества строк.
  • Меньшая нагрузка на память по сравнению с +.

4. Примеры ошибок

Ошибка при конкатенации строк с числами без преобразования:

				
					string result = "Возраст: " + 25;

				
			

Работает, так как число автоматически преобразуется в строку.

Ошибка, если переменная null:

				
					string name = null;
string message = "Привет, " + name;
Console.WriteLine(message); // Выведет "Привет, " (но ошибки не будет)

				
			

Лучше использовать интерполяцию, которая корректно обрабатывает null.

5. Заключение

Конкатенация строк — важная часть работы с текстом в C#.
✔ Используйте интерполяцию строк ($"...") для удобочитаемого кода.
✔ Для сложных строк используйте StringBuilder для оптимизации производительности.
✔ Остерегайтесь null и автоматического преобразования типов.

Тестовое задание

Задание:

Напишите программу, которая:

  1. Объявляет три переменные: string firstName, string lastName, int age.
  2. Использует конкатенацию для создания строки "Меня зовут ..." разными способами.
  3. Выводит результат на экран.

Пример кода:

				
					using System;
using System.Text;

class Program
{
    static void Main()
    {
        // Объявляем переменные
        string firstName = "Анна";
        string lastName = "Смирнова";
        int age = 30;

        // Конкатенация с +
        string result1 = firstName + " " + lastName + ", возраст: " + age;
        Console.WriteLine(result1);

        // Интерполяция строк
        string result2 = $"Меня зовут {firstName} {lastName}, мне {age} лет.";
        Console.WriteLine(result2);

        // String.Concat
        string result3 = string.Concat(firstName, " ", lastName, ", возраст: ", age);
        Console.WriteLine(result3);

        // StringBuilder
        StringBuilder sb = new StringBuilder();
        sb.Append("Меня зовут ").Append(firstName).Append(" ").Append(lastName).Append(", мне ").Append(age).Append(" лет.");
        Console.WriteLine(sb.ToString());
    }
}

				
			

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

logo