Основы C#. Урок 27. Строки (класс StringBuilder)
На этом уроке мы рассмотрим другой класс для работы со строками -
класс StringBuilder. Он принадлежит пространству имен System.Text
Этот класс работет быстрее, чем класс String, так как при изменении
строки, созданной как экземпляр класса String, у нас создается каждый
раз новый экземпляр класса, а старый уничтожается, при использовании же
класса StringBuilder расходов на создание-уничтожение экземпляра класса
нет - мы работаем всегда с одним экземпляром.
Обратите внимание, что для этого класса мы не можем использовать
простое присваивание:
StringBuilder s="abc"; //Неправильно!
В этом случае мы долны действовать так:
StringBuilder s=new StringBuilder("abc"); //Правильно
У класса StringBuilder нет статических методов. Все его методы -
динамические. Ниже перечислены основные свойства и методы класса
StringBuilder:
Свойство Length. Возвращает длину строки. Пример
использования:
int k=s.Length;
Свойство только для чтения MaxCapacity. Дает
максимальное количество символов, которые можно записать в объект типа
StringBuilder. Пример использования:
System.Console.WriteLine(s.MaxCapacity);
Метод Append. Прибавляет строку к существующей.
Пример использования:
StringBuilder s1=new StringBuilder("Cogito ");
StringBuilder s2=new StringBuilder("ergo ");
s1.Append(s2);
s1.Append("sum");
System.Console.WriteLine(s1); //Напечатается "Cogito ergo sum"
Метод Equals. Служит для сравнения двух строк.
Возвращает true или false. Пример использования:
if(s1.Equals(s2))
System.Console.WriteLine("Строки равны");
else
System.Console.WriteLine("Строки не равны");
Метод Insert. Вставляет символы в заданную позицию
(Нумерация идет с нуля). Пример использования:
StringBuilder s1=new StringBuilder("abcde");
s1.Insert(2, "xyz");
System.Console.WriteLine(s1); //Напечатается "abxyzcde"
Метод Remove. Удаляет символы из строки. Пример
использования:
StringBuilder s1=new StringBuilder("abcde");
s1.Remove(1, 2);
System.Console.WriteLine(s1); //Напечатается "ade"
Певый параметр у Remove - это с какой позиции удаляем (нумерация с
нуля), второй - сколько символов удаляем.
Метод Replace. Заменяет символы. Пример
использования:
StringBuilder s=new StringBuilder("abcdeabcde");
s.Replace("abc", "ZZZ");
System.Console.WriteLine(s); //Напечатается "ZZZdeZZZde"
|