对于支持超过 2^31 个键的数组,是否有任何内置选项。这将使 key 类型为 System.Int64 而不是 System.Int。虽然 2^31 是一个相当大的数量,但越来越多的应用程序需要更多的 key 。例如,人类基因组中有超过 30 亿个碱基对。有什么简单的选择吗?
最佳答案
这在 .NET 中是不可能的,因为每个对象的最大限制为 2GB。即使在 64 位中,您仍然有此限制。
如果您真的想尝试一次将所有这些数据保存在内存中,您可以将数据分成 block 。您甚至可以编写一个包装类来透明地将索引从 Int64 映射到正确分区上的 Int32 索引。
你可以阅读 this article关于 BigArray。
关于.net - .NET 中具有超过 2^31 个键的大数组的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254990/