数据页面到磁盘

有谁知道.NET数组类/库将其内容分页到磁盘?

这个想法是能够将它用作普通数组,但该类使用较少的RAM(以避免出现超过2GB数据的内存不足exception)。 理想情况下,该类将实现以下之一:

  • System.Collections.Generic.IList
  • System.Collection.IList

因此它很容易插入现有代码 – 并希望使用DataGridView(尽管我可能仍需要实现“虚拟模式”)。

任何想法非常感谢!

我没有遇到过类似的事情,但我猜这是因为它很少需要。 毕竟,数据库表(在SQL Server或任何其他数据库中)本质上是基于磁盘的arrays。

您可以在数据库表周围编写IList <>包装器。 抛出一些缓存,你就拥有了一个完美的基于磁盘的阵列。

除非你正在处理固定长度的记录(即使那时还有问题),否则你会遇到很多问题,因为处理2GB的数据就像一个数组一样,这会让很多数组的使用表现得非常糟糕 –

  • 指数()
  • InsertAt()
  • RemoveAt移除()
  • 分类()

数据库不起作用有什么原因吗?

我在基于文件的数组的VB中找到了这个解决方案: http : //www.vbforums.com/showthread.php? t = 504649

但它似乎很hacky ……仍在寻找另一种实现方式。