创建新列表时,您是指定初始大小还是将其保留为空?我知道,通过指定一个初始大小,可以避免每次添加x个项时列表都会重新分配底层数组,但也会增加代码的冗长。是值得在代码中添加冗长和复杂性的最小性能增益。如果该列表还需要一个条目,而您忘记在初始化中添加一个条目,那么会发生什么呢?您仍然会受到重新分配的性能开销的影响,现在这个数字对新开发人员可能没有任何意义。
发布于 2008-12-02 17:14:50
如果您知道如何使用它,则应该始终指定初始大小,因为C#开始的列表大小为4 (!)并且随着列表的增长而加倍大小。这不是一个微优化,因为它只需要很少的努力就可以给.Net提示。而且可读性也不是问题,特别是如果你能避免magic numbers的话。
发布于 2008-12-02 18:58:32
如果你真的不能准确(也很容易)预测列表的大小,那就别费心了。
不要为了提前确定它而构建任何代码(更少的代码==更好的代码)。
此外,加倍是增加性能列表的一种非常有效的方法。
4 8 16 32 64 128 256 512 1024...you明白了。
https://stackoverflow.com/questions/334725
复制相似问题