代码之家  ›  专栏  ›  技术社区  ›  monibius

阵列要磁盘的页

  •  3
  • monibius  · 技术社区  · 15 年前

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

    其思想是能够将其用作普通数组,但类使用较少的ram(以避免超过2gb的数据出现内存不足异常)。理想情况下,该类将实现以下之一:

    • system.collections.generic.ilist系统
    • system.collection.ilist系统

    因此它将很容易插入到现有的代码中,并有望使用datagridview(尽管我可能仍然需要实现虚拟模式)。

    任何想法都非常感谢!

    3 回复  |  直到 15 年前
        1
  •  2
  •   Philippe Leybaert    15 年前

    我没有遇到过这样的事,但我想那是因为很少需要它。毕竟,数据库表(在sql server或任何其他数据库中)本质上是一个基于磁盘的数组。

    您可以在数据库表周围编写IList<gt;包装器。再加上一些缓存,就有了一个完美的基于磁盘的阵列。

        2
  •  2
  •   Tom    15 年前

    除非您处理的是固定长度的记录(即使这样也会有问题),否则在处理2GB数据时会遇到很多问题,就像处理一个数组一样,这会使很多数组的使用性能变得非常糟糕-

    • 索引()
    • 插入()
    • 移除()
    • 分类()

    有什么理由数据库不能工作吗?

        3
  •  0
  •   Erwin Mayer    13 年前

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

    但它看起来很粗糙…仍在寻找另一个实现。