我已经下载了一个流,作为一个字节[]'原始'大约是36MB。我然后再转换为字符串string.replace vs StringBuilder.replace内存
string temp = System.Text.Encoding.UTF8.GetString(raw)
然后,我需要全部替换“\ n”和“\ r \ n”,所以我尝试
string temp2 = temp.Replace("\n","\r\n")
但它抛出一个“内存不足“例外。然后我尝试使用StringBuilder创建一个新字符串:
string temp2 = new StringBuilder(temp).Replace("\n","\r\n").toString()
并且它没有抛出异常。为什么首先会出现内存问题(我只在这里处理36MB),但为什么StringBuilder.Replace()在另一个不工作时工作?
我看到了这个问题,但它更多与性能而不是内存使用。而且,这更像是“幕后发生了什么?”问题比“我该如何解决它?”一。 – Aeon2058 2013-05-14 12:13:52