Like GuyFawkes,我想使用MemoryStream來存儲大量的數據,但仍然遇到'內存不足'異常。
TomTom的答案是我想要做的 - 使用不需要連續塊的實現 - 但是我想知道是否已經有一個免費的實現可用,以幫助我自己寫一個?是否有不使用連續內存的開源MemoryStream實現?
有誰知道一個好的,免費的重新實現MemoryStream,可以處理大流?
編輯:
的MemoryMappedFile解決方案是非常有趣的,我會記住它用於其他項目,但是作爲亨克說,它迷路太遠從MemoryStream的的目標是抽象。具體而言,要求已知能力。
替換者應該處理的數據在某些情況下會非常大,但在其他情況下相對較小(並且我們不知道哪些數據會被刪除,直到其太晚;));此外,該課程的許多實例將同時存在。 最終,使用MemoryMappedFiles所需的工作(爲每個人確定合適的大小)將等同於實施TomTom解決方案的工作。
在StringBuilder的一個類似的問題被改變的方案中使用的繩索固定在.NET 4。谷歌搜索「記憶流繩索」只是產生了一個結尾的程序員的命中。一個64位操作系統是一百美元的解決方案。 – 2012-03-14 19:44:24
好吧,我已經採取了缺乏(酒吧埃裏克和dtb的有趣,但不是我所需要的)作爲一個'不',所以自己實現它的答案。它不是特別複雜,但如果有人可以建議最好的地方,我會上傳它? – sebf 2012-03-15 13:56:30
@HansPassant,繩索是一個有趣的閱讀,謝謝(即使谷歌搜索「記憶繩索」並不完全啓發!)對於我的項目,雖然我只需要數百兆字節的數據流,所以我的實現中的簡單列表就夠了。 – sebf 2012-03-15 13:59:13