dato un StringBuilder già riempito, come si azzera il contenuto mantenendo la sua capacità?
dato un StringBuilder già riempito, come si azzera il contenuto mantenendo la sua capacità?
Pietro
Credo che non sia possibile. Quando rimuovi un elemento riduci la capacità di uno, al contrario se lo inserisci
non so, :master: forse ho trovato.Originariamente inviato da edaje
Credo che non sia possibile. Quando rimuovi un elemento riduci la capacità di uno, al contrario se lo inserisci
Imposto il length=0 e vedo che la capacity rimane inalterata![]()
![]()
Pietro
Io uso queto sistema, non so se è il massimo ma funziona...
Dim sb As New StringBuilder
....
....
sb.Remove(0, Len(sb.ToString))
![]()
ho visto pure questoOriginariamente inviato da Legnetto
Io uso queto sistema, non so se è il massimo ma funziona...
Dim sb As New StringBuilder
....
....
sb.Remove(0, Len(sb.ToString))
![]()
![]()
sb.Remove(0, sb.Length);
Pietro
che è la stessa cosa ma magari un pelino più efficiente...Originariamente inviato da pietro09
ho visto pure questo![]()
sb.Remove(0, sb.Length);
io la distruggo e la ricreo
stringbuilder=nothing.
dato che questi metodi li avete elencati tutti siamo daccapo![]()
debbo lanciare la monetina?![]()
Pietro
Ma guarda; visto l'importanza della cosa io penso che ogni metodo possa andare bene.
Io ho un programma che compone delle tabelle di centinaia di righe utilizzando appunto uno stringbuilder.
In certi casi particolari devo rimuoverne il contenuto ed uso il sistema che ho postato sopra.
(la faccina non centra niente ma mi piace)
![]()
un po' di tempi
sb = new StringBuilder(); --> 1389
sb.Remove(0, sb.Length); --> 449
sb.Length = 0; --> 426
la faccina non centra niente ma mi piace-si può avere una copia in versione più grande
![]()
i tempi sono in millisecondi ed ho dovuto iterare un milione di volte :ignore:
Pietro