la meilleure façon d'effacer le contenu de .NET StringBuilder

Je voudrais vous demander ce que vous pensez est le meilleur moyen (dure moins /consomme moins de ressources) pour effacer le contenu afin de le réutiliser un StringBuilder. Imaginez le scénario suivant:

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);
}

Et quand compensation StringBuilder je pense à deux possibilités:

sb = new StringBuilder();

ou

sb.Length = 0;

Quel est le meilleur moyen de l'effacer, et pourquoi?

Merci.

EDIT: je ment avec de l'actuel .NET version 3.5.

  • Pas une réponse, mais intéressant à lire: bobondevelopment.com/2007/06/11/...
  • Quelle est la raison de ne pas y compris le StringBuilder.Méthode Clear() comme une alternative?
  • c# 4.0 n'est pas encore sorti, c'est seulement dans la version 4.0. Sur MSDN, il dit: pris en charge dans: 4.
  • heureusement pour moi que c#4.0 est sorti blogs.msdn.com/somasegar/default.aspx
  • Je me demande pourquoi Length est accessible en écriture, mais il n'y a pas de lecture/écriture propriété "Text"? En disant sb.Text = ""; semble plus claire que sb.Length = 0;, et un Text bien pourrait aussi aider dans le scénario où l'on aurait autrement-à-dire sb.Length = 0; sb.Append(StuffToStartWith);.
  • Probablement parce que .Text propriété encourage les gens à accidentellement l'écriture sb.Text = sb.Text + nextString;, en battant le point de l'ensemble de l'aide d'un StringBuilder en premier lieu.
  • Il serait raisonnable d'exiger que le code de vouloir définir le contenu d'un Set méthode plutôt qu'une propriété, mais si l'on a pris une telle approche, je ne vois pas de raison Length ne devraient pas être traitées de manière adéquate, surtout depuis qu'il y aurait peut être utilise pour les différentes façons de traiter l'allongement et le raccourcissement des scénarios.

InformationsquelleAutor David Espart | 2009-11-10