Основы 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" |