Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2014, 10:28   #1
Деник
Пользователь
 
Регистрация: 26.09.2013
Сообщений: 10
По умолчанию Класс StringBuilder

Здравствуйте, вот не могу понять следующие строки автора:

Когда строка конструируется классом String, выделяется ровно столько памяти, сколько необходимо для хранения данной строки. Однако, в пространстве имен System.Text имеется класс StringBuilder, который поступает лучше и обычно выделяет больше памяти, чем нужно в данный момент

на словах не понятно чем он лучше обычного String да и примеры не особо то понятны:

Код:
StringBuilder hello = new StringBuilder("Привет, меня зовут Александр Ерохин",120);
hello.AppendFormat("Я рад вас приветствовать на моем сайте professorweb.ru");
так в чем же изюминка Класса StringBuilder? объясните пожайлуста
Деник вне форума Ответить с цитированием
Старый 19.01.2014, 10:38   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

В том, что рамять резервируется для будущих потребностей. Допустим, для обычного стринга, мы зарезервировали память под строку 100 символов. Нам нужно добавить в эту строку, всего один символ. Для этого нам нужно:
1. Найти место для новой строки.
2. Скопировать старую строку.
3. Удалить старую строку.
4. Добавить символ.

В StringBuilder эти операции происходят только в том случае, когда происходит переполнение зарезервированного размера, т.е. достаточно редко.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.01.2014, 10:44   #3
Деник
Пользователь
 
Регистрация: 26.09.2013
Сообщений: 10
По умолчанию

Спасибо, терь все ясно!
Деник вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
класс 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