DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 關於List.ToArray()方法的效率測試
關於List.ToArray()方法的效率測試
編輯:關於JavaScript     

之前一直認為因為List內部實現是數組,ToArray的實現只是將數組返回出去而已。

今天測了一下發現並不是那樣

var a = new List<int>();
for (int i = 0; i < 10000; i++)
{
a.Add(i);
}
DebugHelper.StartWatch();
foreach (var i in Enumerable.Range(0, 10000))
{
a.ToArray();
}
DebugHelper.StopWatch();

1萬數量大小的List,調用1萬次ToArray的時間消耗是417ms左右。

報著疑惑看了下源碼,沒想到它是把內部數組復制了一份再返回

public T[] ToArray()
{
T[] array = new T[this._size];
Array.Copy(this._items, 0, array, 0, this._size);
return array;
}

看來對於重復性操作,可以考慮直接緩存成全局變量,或者直接用List作為參數。

以上所述是小編給大家介紹的關於List.ToArray()方法的效率測試,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved