【发布时间】:2011-08-22 01:54:03
【问题描述】:
我想用我拥有的单个值填充 2D 数组,但是,我想以最快的方式做到这一点,2D 数组的总长度将超过 200k+,随着时间的推移将超过 200这些数组。我研究了 Buffer.BlockCopy 和 Array.Copy,但是,它们都将数组作为源/目标,其中我唯一拥有的数组是目标,源是单个值。
在源是单个值而不是数组的情况下填充数组的最快方法是什么?
【问题讨论】:
-
有几种不同的方法,这家伙列出了一些更常见的方法——他甚至还好心地对其进行了基准测试:dotnetperls.com/initialize-array 在内存中保存 200K 项,甚至如果它们是原始的,将会占用大量内存 - 你在做什么,你需要所有 200K 的项目,并且需要恒定的时间访问(每个项目)?
-
可能不是一个重复的问题,他没有说他想用它初始化数组,也可以意味着用 valeu 填充大部分数组
标签: c# algorithm performance optimization memory