Свойство Length
Свойство Length класса StringBuilder
возвращает или задаёт текущую длину текста
в буфере. При чтении получают число символов
от начала до конца. При записи меньшего значения
хвост буфера отбрасывают, большего - недостающие
позиции заполняют символом "'\0'".
Синтаксис
int len = sb.Length;
sb.Length = newLength;
Пример
Давайте узнаем длину буфера после сборки
текста "abcde":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
Console.WriteLine(sb.Length);
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
5
"abcde"
Пример
Давайте уменьшим Length и обрежем
хвост буфера:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb.Length = 2;
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"ab"
Пример
Давайте увеличим Length и допишем
символы в конец через индексатор:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abc");
sb.Length = 5;
sb[3] = 'd';
sb[4] = 'e';
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте сравним Length с запасом
буфера Capacity:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
Console.WriteLine(sb.Length <= sb.Capacity);
}
}
Результат выполнения кода:
True
Смотрите также
-
свойство
Capacity,
которое задаёт запас символов в буфере -
Индексатор StringBuilder,
который читает и меняет символ по номеру -
метод
Clear,
который обнуляет длину текста в буфере -
метод
Remove,
который вырезает фрагмент из середины буфера