Tôi đã tải xuống luồng dưới dạng byte [] 'thô' khoảng 36MB. sau đó tôi chuyển đổi đó vào một chuỗi vớistring.replace vs StringBuilder.replace cho bộ nhớ
string temp = System.Text.Encoding.UTF8.GetString(raw)
Sau đó, tôi cần phải thay thế tất cả "\ n" với "\ r \ n" vì vậy tôi cố gắng
string temp2 = temp.Replace("\n","\r\n")
nhưng nó ném một "Out of Memory " ngoại lệ. Sau đó, tôi đã cố tạo một chuỗi mới bằng StringBuilder:
string temp2 = new StringBuilder(temp).Replace("\n","\r\n").toString()
và nó không loại trừ ngoại lệ. Tại sao sẽ có một vấn đề bộ nhớ ở nơi đầu tiên (tôi chỉ giao dịch với 36MB ở đây), nhưng cũng tại sao StringBuilder.Replace() làm việc khi khác không?
Tôi đã thấy câu hỏi đó, nhưng nó có nhiều việc phải làm với hiệu suất hơn là sử dụng bộ nhớ. Ngoài ra, đây còn là một "chuyện gì đang xảy ra đằng sau hiện trường?" câu hỏi hơn là "làm thế nào để sửa chữa nó?" một. – Aeon2058