разница между строкой и строителем строк - PullRequest
1 голос
/ 31 марта 2011

У меня есть сомнения в том, использовать ли строку или построитель строк для добавления html-элементов, таких как "div" и других, на мою страницу в mvc. Есть ли другой подход к этой вещи.

Спасибо.

Ответы [ 7 ]

2 голосов
/ 31 марта 2011

Вы должны использовать StringBuilder , если вы сильно меняете строку (добавляете, удаляете, меняете, заменяете символы), потому что это более эффективно.Если вы просто выполняете операцию, вы должны использовать строку.

Проблема с string заключается в том, что она неизменна, поэтому оператор

string text = myStringVariable + "new string"

вызывает новый экземпляр текста.переменная будет создана.Если вы выполняете много операций над строковым классом, у вас будет много экземпляров строковых объектов.

2 голосов
/ 31 марта 2011

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

2 голосов
/ 31 марта 2011

Я прочитал, что Microsoft рекомендует использовать StringBuilder, когда вы прогнозируете иметь более 6 конкатенаций.

1 голос
/ 31 марта 2011

проверьте этот пост на предмет глубинных знаний о: Зачем использовать StringBuilder над строкой для повышения производительности

1 голос
/ 31 марта 2011

Всякий раз, когда вы выполняете добавление текстов, вы всегда должны использовать stringbuilder.

Использование строки будет многократно создавать новые экземпляры строки и, следовательно, неэффективно.

0 голосов
/ 31 марта 2011

Если честно и сказать что-то необычное в конце это действительно не имеет значения . Различия настолько малы, что вас это не должно волновать, и вы должны тратить время на другие вещи, которые имеют значение.

Просмотрите эту статью Джеффа, где все это объясняется (также в веб-среде, когда он создавал StackOverflow).

Код ужасов статья о том, почему не важно, как вы создаете строки

0 голосов
/ 31 марта 2011

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

...