欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

今天測(cè)了一下發(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()方法的效率測(cè)試,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 原生js實(shí)現(xiàn)日期計(jì)算器功能

    原生js實(shí)現(xiàn)日期計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)日期計(jì)算器功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • javascript 可控式透明特效實(shí)現(xiàn)代碼

    javascript 可控式透明特效實(shí)現(xiàn)代碼

    透明特效是script.aculo.us提到的特效中最簡(jiǎn)單的特效之一。既然是特效,必須涉及時(shí)間與空間的概念。時(shí)間我們可以用setTimeout與setInterval,個(gè)人比較喜歡setTimeout,雖然它每次調(diào)用都重復(fù)注冊(cè),但可控性比較好。
    2010-01-01
  • JavaScript通過字典進(jìn)行字符串翻譯轉(zhuǎn)換的方法

    JavaScript通過字典進(jìn)行字符串翻譯轉(zhuǎn)換的方法

    這篇文章主要介紹了JavaScript通過字典進(jìn)行字符串翻譯轉(zhuǎn)換的方法,涉及javascript字符串轉(zhuǎn)換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 微信小程序?qū)崙?zhàn)之上拉(分頁加載)效果(2)

    微信小程序?qū)崙?zhàn)之上拉(分頁加載)效果(2)

    這篇文章主要介紹了微信小程序?qū)崙?zhàn)之上拉加載、分頁加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • JS+HTML5 canvas繪制驗(yàn)證碼示例

    JS+HTML5 canvas繪制驗(yàn)證碼示例

    這篇文章主要介紹了JS+HTML5 canvas繪制驗(yàn)證碼,結(jié)合實(shí)例形式分析了HTML5 canvas圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • JS全角與半角轉(zhuǎn)化實(shí)例(分享)

    JS全角與半角轉(zhuǎn)化實(shí)例(分享)

    下面小編就為大家?guī)硪黄狫S全角與半角轉(zhuǎn)化實(shí)例(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 腳本吧 - 幻宇工作室用到j(luò)s,超強(qiáng)推薦base.js

    腳本吧 - 幻宇工作室用到j(luò)s,超強(qiáng)推薦base.js

    腳本吧 - 幻宇工作室用到j(luò)s,超強(qiáng)推薦base.js...
    2006-12-12
  • js中位數(shù)不足自動(dòng)補(bǔ)位擴(kuò)展padLeft、padRight實(shí)現(xiàn)代碼

    js中位數(shù)不足自動(dòng)補(bǔ)位擴(kuò)展padLeft、padRight實(shí)現(xiàn)代碼

    這篇文章主要介紹了js中位數(shù)不足自動(dòng)補(bǔ)位擴(kuò)展之padLeft、padRight實(shí)現(xiàn)方法,主要是通過String.prototype擴(kuò)展實(shí)現(xiàn),需要的朋友可以參考下
    2020-04-04
  • JavaScript中Promise的使用詳解

    JavaScript中Promise的使用詳解

    Promise,相信每一個(gè)前端工程師都或多或少地在項(xiàng)目中都是用過,畢竟它早已不是一個(gè)新名詞。ES6中已經(jīng)原生對(duì)它加以支持,在caniuse中搜索一下 Promise ,發(fā)現(xiàn)新版的chrome和firefox也已經(jīng)支持。但是低版本的瀏覽器我們可以使用 es6-promise 這個(gè) polyfill 庫(kù)來加以兼容。
    2017-02-02
  • 深入理解JavaScript內(nèi)存管理和GC算法

    深入理解JavaScript內(nèi)存管理和GC算法

    這篇文章主要介紹了深入理解JavaScript內(nèi)存管理和GC算法,下面文章主要講解JavaScript的垃圾回收機(jī)制以及常用的垃圾回收算法;還講解了V8引擎中的內(nèi)存管理,最后介紹了Performance工具如何使用
    2022-07-07

最新評(píng)論