关于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 相关文章推荐
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
js动态创建标签示例代码
Jun 09 Javascript
贴近用户体验的Jquery日期、时间选择插件
Aug 19 Javascript
javascript模块化简单解析
Apr 07 Javascript
javascript 中的事件委托详解
Oct 25 Javascript
Node.js操作redis实现添加查询功能
May 25 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 Javascript
vue的$http的get请求要加上params操作
Nov 12 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
两个php日期控制类实例
2014/12/09 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
JavaScript 继承的实现
2009/07/09 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
javascript history对象详解
2017/02/09 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
详解vue路由
2020/08/05 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python实现Restful API的例子
2019/08/31 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
ORACLE十问
2015/04/20 面试题
运动会广播稿30字
2014/01/21 职场文书
听课评课活动心得体会
2016/01/15 职场文书
德生BCL3000抢先使用感受和评价
2022/04/07 无线电