【发布时间】:2013-05-08 12:31:26
【问题描述】:
我已经下载了一个大约 36MB 的 byte[] 'raw' 流。然后我将其转换为字符串与
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() 在另一个不工作的情况下工作?
【问题讨论】:
-
我看到了这个问题,但它更多地与性能有关,而不是内存使用。此外,这更像是“幕后发生了什么?”问题比“我该如何解决?”一。
标签: c# replace stringbuilder