|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.01.2014, 10:28 | #1 |
Пользователь
Регистрация: 26.09.2013
Сообщений: 10
|
Класс StringBuilder
Здравствуйте, вот не могу понять следующие строки автора:
Когда строка конструируется классом String, выделяется ровно столько памяти, сколько необходимо для хранения данной строки. Однако, в пространстве имен System.Text имеется класс StringBuilder, который поступает лучше и обычно выделяет больше памяти, чем нужно в данный момент на словах не понятно чем он лучше обычного String да и примеры не особо то понятны: Код:
|
19.01.2014, 10:38 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
В том, что рамять резервируется для будущих потребностей. Допустим, для обычного стринга, мы зарезервировали память под строку 100 символов. Нам нужно добавить в эту строку, всего один символ. Для этого нам нужно:
1. Найти место для новой строки. 2. Скопировать старую строку. 3. Удалить старую строку. 4. Добавить символ. В StringBuilder эти операции происходят только в том случае, когда происходит переполнение зарезервированного размера, т.е. достаточно редко.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
19.01.2014, 10:44 | #3 |
Пользователь
Регистрация: 26.09.2013
Сообщений: 10
|
Спасибо, терь все ясно!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
класс system.text.stringbuilder | Vlad1987 | C# (си шарп) | 4 | 29.09.2013 17:58 |
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! | xeops | C# (си шарп) | 0 | 15.05.2012 20:31 |
StringBuilder и OutOfMemoryException | m9yt | C# (си шарп) | 7 | 15.04.2012 13:37 |
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. | Человек_Борща | Общие вопросы Delphi | 8 | 27.02.2012 23:24 |
Реализовать через stringbuilder | bufalo | C# (си шарп) | 5 | 09.12.2011 19:48 |