Урок 27. Строки (класс StringBuilder)

Автор: admin | 14 Июнь 2008 – 16:12 -


Урок 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"


Tags: , , , , , , , , , ,
Находится в Уроки C# | No Comments »

Ответить

Вы должны быть в системе, дабы комментировать.


C# — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).