Индексатор StringBuilder
Индексатор класса StringBuilder
по целому номеру позиции возвращает символ
типа char или записывает новый
символ в буфер на месте. Нумерация с нуля,
как у строки. Доступ возможен только к
существующим позициям: номер должен быть
меньше свойства Length.
Синтаксис
char ch = sb[index];
sb[index] = ch;
Пример
Давайте прочитаем первый символ буфера
"abcde":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
char ch = sb[0];
Console.WriteLine(ch);
}
}
Результат выполнения кода:
a
Пример
Давайте заменим первый символ на "'z'":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
sb[0] = 'z';
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"zbcde"
Пример
Давайте изменим символ в середине буфера
"12345":
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("12345");
sb[2] = '0';
Console.WriteLine(sb.ToString());
}
}
Результат выполнения кода:
"12045"
Пример
Давайте пройдём по буферу и соберём строку из прочитанных символов:
using System;
using System.Text;
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder("abcde");
StringBuilder res = new StringBuilder();
for (int i = 0; i < sb.Length; i++)
{
res.Append(sb[i]);
}
Console.WriteLine(res.ToString());
}
}
Результат выполнения кода:
"abcde"