2

我们有一个处理序列化索引数据的自定义数据库,我们已经达到了数据库容量的 70%(即 int.MaxValue 或 2^31 个元素)。我们开始分析是否有可能通过自己实现一个可以处理可能无限数量的元素的集合来打破这个限制(当然受计算机内存的限制)。

目前,我们正在尽可能多地委托 WPF 来处理 UI 虚拟化,并且我们仅通过 IList 的实现来处理我们这边的数据虚拟化。但是 IList.Count 属性被其类型(整数)限制为 2^31。这意味着这是我们的主要限制。

我们考虑过为迭代创建自己的接口,但因此我们将失去与 IList 接口密切相关的 DataGrid 的 UI 虚拟化。

尽管我(或多或少)有能力制作我们自己的 UserControl,但我想知道 WPF 是否还没有完成类似的操作。我认为我们不是第一个希望为他们的用户提供如此多数据的人。

4

1 回答 1

1

当处理来自数据库的大量记录时,Virtualise data创建自定义列表和控件来容纳数据库中的 2^31 个项目会更容易。
我认为您的数据库已准备好处理该数量的数据,并且当您到达9,223,372,036,854,775,807行时它自己将继续存在,即Int64.MaxValue MSDN

于 2019-09-05T16:01:08.013 回答