gpt4 book ai didi

c# - 列出使用多个 block

转载 作者:行者123 更新时间:2023-11-30 17:55:46 26 4
gpt4 key购买 nike

List 是数组的包装器。当您将项目添加到列表时,它会创建越来越大的隐藏数组(并且以前的数组被垃圾收集)。但是,如果您在某个时候处理大型列表,即使由于内存碎片而有可用内存,您也会得到 OutOfMemoryException。我正在寻找一个 ICollection 实现,它可以与类似于 MemoryTributary 的一组数组一起工作。

更新。

我在这里找到了 BigArray 的实现:

http://blogs.msdn.com/b/joshwil/archive/2005/08/10/450202.aspx .

虽然它试图解决其他问题(创建 >2GB 大小的数组),但它也解决了我的问题。但是这个实现并不完整,甚至无法编译。所以如果我找不到更好的,我会改进这个并使用它。

最佳答案

如果您对最大大小有粗略估计,则可以使用容量初始化列表。据我所知,这将避免大量垃圾收集的发生(使用旧的较小数组),这也可能避免内存碎片。

关于c# - 列出使用多个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com