Ho scaricato un flusso come byte [] 'raw' che è di circa 36 MB. Ho poi convertire in una stringa constring.replace vs StringBuilder.replace per memoria
string temp = System.Text.Encoding.UTF8.GetString(raw)
Poi ho bisogno di sostituire tutti "\ n" con "\ r \ n" così ho cercato
string temp2 = temp.Replace("\n","\r\n")
ma è buttato una "memoria insufficiente " eccezione. Ho quindi provato a creare una nuova stringa con StringBuilder:
string temp2 = new StringBuilder(temp).Replace("\n","\r\n").toString()
e non ha lanciato l'eccezione. Perché dovrebbe esserci un problema di memoria in primo luogo (mi occupo solo di 36MB qui), ma anche perché StringBuilder.Replace() funziona quando l'altro no?
Ho visto quella domanda, ma ha più a che fare con le prestazioni piuttosto che con l'utilizzo della memoria. Inoltre, questo era più di un "cosa succede dietro la scena?" domanda piuttosto che un "come lo risolvo?" uno. – Aeon2058