лучший способ очистить содержимое .NET StringBuilder - PullRequest
67 голосов
/ 10 ноября 2009

Я хотел бы спросить, что, по вашему мнению, является лучшим способом (длится меньше / потребляет меньше ресурсов), чтобы очистить содержимое для повторного использования StringBuilder. Представьте себе следующий сценарий:

StringBuilder sb = new StringBuilder();
foreach(var whatever in whateverlist)
{
  sb.Append("{0}", whatever);
}

//Perform some stuff with sb

//Clear stringbuilder here

//Populate stringbuilder again to perform more actions
foreach(var whatever2 in whateverlist2)
{
  sb.Append("{0}", whatever2);
}

И при очистке StringBuilder я могу думать о двух возможностях:

sb = new StringBuilder();

или

sb.Length = 0;

Как лучше всего это очистить и почему?

Спасибо.

РЕДАКТИРОВАТЬ: я с текущей версией .NET 3.5.

Ответы [ 11 ]

0 голосов
/ 08 марта 2018

Просто вызовите метод Clear (), просто установите длину = 0, Мы также можем установить Capacity = 0, если мы хотим сохранить память

public StringBuilder Clear() {
        this.Length = 0;
        return this;
 }

Ссылка: В referenceource.microsoft.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...