2008-12-02 90 views
3

創建新列表時,是指定初始大小還是保留空白?我知道,通過指定一個初始大小,可以避免每次添加x個項目時重新分配基礎數組,而且還會爲代碼添加冗餘。最小的性能增益值得爲你的代碼增加冗長和複雜性。如果該列表需要多一個項目,並且您忘記在初始化中添加一個項目,您仍然因重新分配的性能開銷而受到影響,那麼該數字對新開發人員而言可能沒有意義。創建新列表

回答

5

如果你知道如何使用它,你應該總是指定一個初始大小,因爲C#開始列表的大小爲四(!),並且隨着列表的增長,大小加倍。它只是不是一個微型優化,因爲它只需要很少的努力給.Net提示。可讀性不是問題,特別是如果你可以避免magic numbers

2

如果你真的無法準確(而且容易)預測列表的大小,請不要打擾。

不要建立任何代碼來提前確定它(少代碼==更好的代碼)。

此外,加倍是一個非常有效的方式來增加列表的性能。

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