Se si desidera utilizzare qualcosa come uno StringBuilder perché è più pulito di passare in giro e lavorare con, allora si può usare qualcosa come il seguente alternativo StringBuilder ho creato.
La cosa più importante è che consente di accedere ai dati interni senza doverli assemblare prima in una stringa o in un ByteArray. Ciò significa che non è necessario raddoppiare i requisiti di memoria e rischiare di tentare di allocare un blocco contiguo di memoria che si adatta all'intero oggetto.
NOTA: Sono sicuro che ci sono opzioni migliori quindi utilizzando un List<string>()
internamente, ma questo era semplice e si è dimostrato essere abbastanza buono per i miei scopi.
Ora è possibile scaricare l'intero contenuto in un file utilizzando il seguente codice.
var stringData = new StringBuilderEx();
stringData.Append("Add lots of data");
using (StreamWriter file = new System.IO.StreamWriter(localFilename))
{
stringData.ForEach((data) =>
{
file.Write(data);
});
}
Non è possibile se ha bisogno di usare la stringa per qualcos'altro prima di scriverlo però. – Skurmedel
Assolutamente vero, ma ovviamente non ha detto che è un requisito, quindi non ho fatto alcuna ipotesi. –