J'ai une boucle où je crée une certaine valeur de chaîne en fonction de certaines conditions. J'ai placé l'objet StringBuilder en dehors de la boucle et chaque fois que j'ai une nouvelle ligne dans la boucle, j'ai besoin d'effacer les valeurs ajoutées de StringBuilder pour cette ligne.Comment rendre StringBuilder vide à nouveau dans .NET 3.5?
Comment les supprimer?
StringBuilder sb = new StringBuilder();
foreach (DataRow row in recipientsList.Rows)
{
sb.Length = 0;
sb.Append("<ul>");
if (row["needsToActivate"] == "1")
{
sb.AppendFormat("<li>{0}</li>", getUsersWithoutActivationTemplate());
}
if (row["needsToEnterSite"] == "1")
{
sb.AppendFormat("<li>{0}</li>", getUsersWithoutEnteringWebsiteForTwoWeeksTemplate());
}
if (row["needsPicture"] == "1")
{
sb.AppendFormat("<li>{0}</li>", getUsersWithoutPicturesTemplate());
}
if (row["needsText"] == "1")
{
sb.AppendFormat("<li>{0}</li>", getUsersWithoutTextTemplate());
}
if (row["needsCharacteristic"] == "1")
{
sb.AppendFormat("<li>{0}</li>", getUsersWithoutCharateristicsTemplate());
}
if (row["needsHobby"] == "1")
{
sb.AppendFormat("<li>{0}</li>", getUsersWithoutHobbiesTemplate());
}
sb.Append("</ul>");
}
Code avec réponse acceptée;
Quand voulez-vous faire l'effacement pendant la boucle ou après qu'elle a fini? –
pouvez-vous montrer du code, il semble que vous voulez seulement garder la dernière valeur. –