среда, 14 сентября 2011 г.

StringBuilder - знакомство

Сегодня наконец-то начинаю исполнение своего двухнедельного плана (по написанию и публикации статей о программировании). Наконец-то руки дошли до языка программирования Visual Basic (который сейчас изучаю). Про него и будет статья, а точнее – про класс для работы со строками StringBuilder.

Класс StringBuilder предназначен для хранения динамических строк. Как и класс String, он предоставляет множество методов для обработки строк, но его методы работают гораздо быстрее. Для использования в приложении класса StringBuilder, для чего нужно импортировать в своей проект класс System.Text (с тем чтобы каждый раз не уточнять полностью имя класса StringBuilder в программном коде приложения). Если вы это уже сделали – то чтобы создать новый экземпляр данного класса необходимо использовать следующий код:

Dim DStr As New StringBuilder

Для начала предлагаю познакомиться с понятием вместимости объекта StringBuilder. Поскольку объекты StringBuilder используется для работы с динамическими строками, желательно заранее указать (в специальном свойстве Capacity), строку какого размера вы собираетесь хранить в этом объекте. По умолчанию объект StringBuilder вмещает шестнадцать символов, и когда внедряемая в него строка превышает данный размер – значение в свойстве Capacity сразу удваивается. Чтобы задать другой начальный размер строки – необходимо присвоить это значение свойству Capacity. Свойство MaxCapacity, доступное только для чтения, возвращает максимальную длину строки, которую можно хранить в переменной StringBuilder. Если я не ошибаюсь – максимальное значение равно двум миллиардам символов.
 
Существует несколько способов инициализации экземпляров объекта класса StringBuilder. Первый (самый простой) – вызвать конструктор без объявления параметров (как в примере в самом начале данной статьи). Но можно и сразу инициализировать объект, передав конструктору, в качестве аргумента – необходимую строку:

 Dim DStr As New StringBuilder(“Строка для инициализации”)


Если будет известна длина строки, хранящейся в переменной типа StringBuilder – то можно сразу об этом сказать конструктору (но в дальнейшем, если размер будет больше – объект увеличит свою вместимость автоматически):

Dim DStr As New StringBuilder(24)

А если вам известна максимальная длина строки – то можно об этом прямо и сказать конструктору (первоначальная длина и максимальная):

Dim DStr As New StringBuilder(24, 50)

Также – можно в одном конструкторе инициализировать саму строку, ее нынешнюю длину и максимальную длину:

Dim DStr As New StringBuilder(“Строка для инициализации”, 24, 50)

Ясное дело, что только после инициализации вы сможете пользоваться всеми свойствами и методами, с которыми мы познакомимся в следующий раз. А на сегодня статей о программировании пока достаточно (может быть – попробую еще одну статью опубликовать сегодня, но – уже на отвлеченную тему буду писать).

Комментариев нет:

Отправить комментарий