关于List.ToArray()方法的效率测试


Posted in Javascript onSeptember 30, 2016

之前一直认为因为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()方法的效率测试,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript弹出页面回传值的方法
Jan 28 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
Aug 18 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
简单实现jQuery级联菜单
Jan 09 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
koa router 多文件引入的方法示例
May 22 Javascript
javascript实现日历效果
Jun 17 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 02 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 Javascript
uniapp实现可滑动选项卡
Oct 21 Javascript
微信小程序 window_x64环境搭建
Sep 30 #Javascript
JS框架之vue.js(深入三:组件1)
Sep 29 #Javascript
JavaScript 对象详细整理总结
Sep 29 #Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 #Javascript
Angular 中 select指令用法详解
Sep 29 #Javascript
jQuery视差滚动效果网页实现方法经验总结
Sep 29 #Javascript
js仿小米官网图片轮播特效
Sep 29 #Javascript
You might like
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
python笔记(2)
2012/10/24 Python
python使用百度翻译进行中翻英示例
2014/04/14 Python
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
Python3.8中使用f-strings调试
2019/05/22 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Python post请求实现代码实例
2020/02/28 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
查环查孕证明
2014/01/10 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
成绩单家长评语大全
2014/04/16 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
孔繁森观后感
2015/06/10 职场文书
2015年中秋寄语
2015/07/31 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书