Метод Append
Метод Append класса StringBuilder
дописывает значение в конец текущего буфера.
Буфер меняется на месте. Метод возвращает
тот же StringBuilder, поэтому вызовы
можно строить цепочкой. Есть перегрузки
для строки, символа char, массива
символов, числа, логического bool
и других типов.
Синтаксис
sb.Append(string value)
sb.Append(char value)
sb.Append(char[] value)
sb.Append(int value)
sb.Append(bool value)
Пример
Давайте допишем строку к буферу "abc":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abc");
sb.Append("de");
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте вызовем Append цепочкой
для разных типов:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abc");
sb.Append("de").Append(1).Append(true);
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"abcde1True"
Пример
Давайте допишем один символ и фрагмент
массива char:
using System;
using System.Text;
class Program
{
static void Main()
{
char[] part = { '1', '2', '3', '4', '5' };
StringBuilder sb = new StringBuilder("abc");
sb.Append('d').Append(part, 0, 2);
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"abcd12"
Пример
Давайте допишем текст к буферу "12345"
и проверим, что ссылка не меняется:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("12345");
StringBuilder same = sb.Append("abcde");
Console.WriteLine(object.ReferenceEquals(sb, same));
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
True
"12345abcde"
Смотрите также
-
метод
AppendLine,
который дописывает текст и перевод строки -
метод
AppendJoin,
который склеивает элементы через разделитель -
метод
Insert,
который вставляет данные внутрь буфера -
метод
ToString,
который возвращает собранную строку