Иллюстрированный самоучитель по VB.NET




Пример: класс StringBuilder


Чрезвычайно полезный класс StringBuilder входит в пространство имен System.Text (пространства имен рассматриваются в следующем разделе). Этот класс следует использовать вместо обычного класса String в тех случаях, когда вы собираетесь внести постоянные изменения в строку. Дело в том, что при каждом изменении строки (даже при простом добавлении нового символа) VB .NET приходится создавать новую строку, а эта операция требует времени. При работе с экземпляром класса StringBuilder VB .NET обходится модификацией исходного объекта.

При создании пустого объекта Stri ngBui I der методом New VB .NET резервирует блок памяти для 16 символов и автоматически наращивает его при включении новых символов. Объект StringBuilder можно рассматривать как «интеллектуальный» массив символов, который увеличивается и уменьшается по мере надобности и поэтому в каком-то смысле напоминает тип Stri ng в V-B6. Текущий размер объекта Stri ngBui I der называется вместимостью (capacity). В классе Stri ngBui I der определены шесть конструкторов, перечисленных в табл. 4.1.

Таблица 4.1. Конструкторы класса StringBuilder

Конструктор

Описание

New()

Вызывается без параметров. Создает пустой объект StringBuilder с начальной вместимостью 16 символов

New(ByVal value As String)

Создает объект StringBuilder, исходное состояние которого определяется заданной строкой

New (ByVal capacity As Integer)

Создает пустой экземпляр, но резервирует место для заданного количества символов с возможностью дальнейшего неограниченного роста по мере необходимости (если вы точно знаете минимальный начальный размер строки, этот вариант эффективнее автоматического увеличения объекта StringBuilder)

New(ByVal capacity As Integer, ByVal maxCapacity As Integer)

Создает пустой экземпляр, резервирует место для заданного количества символов, но допускает дальнейший рост только до заданного порога. При попытке превысить заданное максимальное количество символов инициируется исключение (см. главу 7)

New(ByVal value As String, ByVal capacity As Integer) Создает объект StringBuilder с заданным исходным состоянием и начальной вместимостью

New(ByVal value As String, ByVal startlndex As Integer, ByVal length As Integer, ByVal capacity As Integer)

Создает объект StringBuilder с заданной начальной вместимостью по части строки

<


Содержание  Назад  Вперед