English 中文(简体)
创建一个新列表
原标题:
  • 时间:2008-12-02 17:14:31
  •  标签:

创建新列表时,您是否指定初始大小或将其留空?我知道通过指定初始大小,您可以避免每次添加x个项目时列表重新分配底层数组,但您也会为代码增加冗长性。最小的性能增益是否值得增加冗长性和代码复杂度。当列表需要一个更多的项目并且您忘记添加初始化项目时,会发生什么?您仍然会遭受重新分配的性能开销,并且现在该数字可能对新开发人员没有意义。

问题回答

如果你知道它将如何使用,你应该始终指定一个初始大小,因为 C# 列表的起始大小是四,随着列表增长而增加两倍。这不仅仅是微观优化,因为给 .Net 提示需要很少的努力。可读性也不是问题,尤其是如果你可以避免魔法数字。

如果您无法准确且轻易地预测列表的大小,请不要费力去尝试。

不要围绕着提前确定它而编写任何代码(少的代码==更好的代码)。

另外,倍增法是一种相当有效的方式,可以提高列表的性能增长率。

4 8 16 32 64 128 256 512 1024... 你明白了。





相关问题
热门标签