Главная страница » C# » 20. Переменные и конкатенация
Переменные в C# используются для хранения данных, а конкатенация — это процесс объединения строк. В C# существует несколько способов конкатенации, включая оператор +
, метод string.Concat()
, интерполяцию строк и StringBuilder
.
Перед конкатенацией строк важно понимать, как объявлять переменные:
string firstName = "Иван";
string lastName = "Петров";
int age = 25;
+
(Простая конкатенация)Самый простой способ объединения строк — использовать оператор +
.
string fullName = firstName + " " + lastName;
Console.WriteLine("Полное имя: " + fullName);
Полное имя: Иван Петров
⛔ Минусы метода +
:
string.Concat()
Альтернативный способ конкатенации — метод string.Concat()
.
string result = string.Concat(firstName, " ", lastName);
Console.WriteLine(result);
✔ Вывод:
Иван Петров
$
) — лучший способСовременный и удобный способ объединения строк — интерполяция (использование $
перед строкой).
string message = $"Меня зовут {firstName} {lastName}, мне {age} лет.";
Console.WriteLine(message);
✔ Вывод:
Меня зовут Иван Петров, мне 25 лет.
✔ Преимущества интерполяции:
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
:
+
.❌ Ошибка при конкатенации строк с числами без преобразования:
string result = "Возраст: " + 25;
✔ Работает, так как число автоматически преобразуется в строку.
❌ Ошибка, если переменная null
:
string name = null;
string message = "Привет, " + name;
Console.WriteLine(message); // Выведет "Привет, " (но ошибки не будет)
✔ Лучше использовать интерполяцию, которая корректно обрабатывает null
.
✔ Конкатенация строк — важная часть работы с текстом в C#.
✔ Используйте интерполяцию строк ($"..."
) для удобочитаемого кода.
✔ Для сложных строк используйте StringBuilder
для оптимизации производительности.
✔ Остерегайтесь null
и автоматического преобразования типов.
Напишите программу, которая:
string firstName
, string lastName
, int age
."Меня зовут ..."
разными способами.
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());
}
}
Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.