考慮下面的代碼:效率:增量創建一個雙精度數組?
List<double> l = new List<double>();
//add unknown number of values to the list
l.Add(0.1); //assume we don't have these values ahead of time.
l.Add(0.11);
l.Add(0.1);
l.ToArray(); //ultimately we want an array of doubles
什麼不對這種方法?有沒有更適當的方法來建立一個數組,而不知道大小或元素提前?
我知道這個問題很老,我可能對此有錯,但在我看來,OP正在詢問關於'l.ToArray();'語句,因爲我也想知道它。如果它必須創建一個全新的數據結構,然後複製所有數據並銷燬原始數據,這實際上並不是那麼高效。返回'List'或任何其他不需要複製和轉換的數據類型會更有效率。 –
2011-02-23 05:34:03