关于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 相关文章推荐
jquer之ajaxQueue简单实现代码
Sep 15 Javascript
使用apply方法实现javascript中的对象继承
Dec 16 Javascript
Script标签与访问HTML页面详解
Jan 10 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
JS+CSS实现闪烁字体效果代码
Apr 05 Javascript
JavaScript的String字符串对象常用操作总结
May 26 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
Bootstrap的modal拖动效果
Dec 25 Javascript
vue select组件的使用与禁用实现代码
Apr 10 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
Jul 23 Javascript
js隐式转换的知识实例讲解
Sep 28 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正则的Unknown Modifier错误解决方法
2010/03/02 PHP
微信支付扫码支付php版
2016/07/22 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
Python类属性的延迟计算
2016/10/22 Python
python解析基于xml格式的日志文件
2017/02/25 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
六道php面试题附答案
2014/06/05 面试题
商务英语专业毕业生自荐信
2013/11/05 职场文书
开业庆典策划方案
2014/02/18 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
总经理岗位职责
2015/02/04 职场文书
超市员工辞职信范文
2015/05/12 职场文书
领导欢送会主持词
2015/07/06 职场文书
教你用python控制安卓手机
2021/05/13 Python
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
带你了解Java中的ForkJoin
2022/04/28 Java/Android