亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于List.ToArray()方法的效率測試

 更新時(shí)間:2016年09月30日 10:18:10   作者:HONT  
這篇文章主要介紹了關(guān)于List.ToArray()方法的效率測試的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

之前一直認(rèn)為因?yàn)長ist內(nèi)部實(shí)現(xiàn)是數(shù)組,ToArray的實(shí)現(xiàn)只是將數(shù)組返回出去而已。

今天測了一下發(fā)現(xiàn)并不是那樣

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萬數(shù)量大小的List,調(diào)用1萬次ToArray的時(shí)間消耗是417ms左右。

報(bào)著疑惑看了下源碼,沒想到它是把內(nèi)部數(shù)組復(fù)制了一份再返回

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

看來對(duì)于重復(fù)性操作,可以考慮直接緩存成全局變量,或者直接用List作為參數(shù)。

以上所述是小編給大家介紹的關(guān)于List.ToArray()方法的效率測試,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論