Метод Clear
Метод Clear класса StringBuilder
удаляет из буфера весь текущий текст:
свойство Length
становится равным нулю. Внутренний
запас Capacity
обычно сохраняется, чтобы повторно
использовать выделенную память. Метод
не возвращает значение.
Синтаксис
sb.Clear();
Пример
Давайте очистим буфер после сборки
текста "abcde":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb.Clear();
Console.WriteLine(sb.Length);
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
0
""
Пример
Давайте убедимся, что после Clear
можно снова дописать текст:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb.Clear();
sb.Append("12345");
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"12345"
Пример
Давайте проверим, что запас буфера не обязан обнуляться:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
int capBefore = sb.Capacity;
sb.Clear();
Console.WriteLine(sb.Capacity >= capBefore);
}
}
Результат выполнения кода:
True
Пример
Давайте очистим буфер в цикле и соберём новую строку:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
sb.Append("abcde");
sb.Clear();
sb.Append("12345");
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"12345"