我决定我需要创建一个 64 位列表来满足我的程序的一些需求,即使用 long 作为索引的能力。我查看了实现 List 的 Mono 代码,并得出一个普遍的结论,即无论我选择什么,我都应该对 IList 进行变体(使用 long)来使用它。
现在我的问题是,您认为这种设计的好方法是什么?我目前正在考虑两种可能性-> 由于 List 只是 Array 类的包装器,我可以重写 List 类以使用巨型数组;或者我可以编写类以使用列表列表来根据需要维护和增长数据。第一个问题似乎是选择了一个太大的数组,第二个问题是试图让 Remove() 和其他各种方法工作,而我可能需要执行大量内存复制以保持所有内容正确索引。你的意见?