Если вы делаете это в .NET 2.0 или 3.5, напишите метод расширения, чтобы сделать это так:
/// <summary>
/// Clears the contents of the string builder.
/// </summary>
/// <param name="value">
/// The <see cref="StringBuilder"/> to clear.
/// </param>
public static void Clear(this StringBuilder value)
{
value.Length = 0;
value.Capacity = 0;
}
Затем вы можете очистить его так:
someStringBuilder.Clear();
Затем, когда выйдет 4.0, вы можете отказаться от метода расширения в пользу версии 4.0.
ОБНОВЛЕНИЕ : Вероятно, не стоит устанавливать Capacity на ноль. Это будет гарантировать перераспределение при добавлении в компоновщик, если вы повторно используете тот же экземпляр. Однако память в экземпляре компоновщика не освобождается, пока вы не установите значение Capacity на очень маленькое значение (например, 1). Значение свойства Capacity по умолчанию равно 16. Возможно, вы захотите использовать 16 или (хотя это менее эффективно) дважды установить емкость:
- Установите 1 или ноль, чтобы очистить память
- Установите его в исходное значение емкости (которое может отличаться от 16), чтобы восстановить его.