关于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 相关文章推荐
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
js调试工具Console命令详解
Oct 21 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
JS实现很实用的对联广告代码(可自适应高度)
Sep 18 Javascript
JavaScript生成二维码图片小结
Dec 27 Javascript
JS基于面向对象实现的拖拽功能示例
Dec 20 Javascript
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
vue.js框架实现表单排序和分页效果
Aug 09 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
Apr 13 Javascript
javascript实现随机抽奖功能
Dec 30 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爆绝对路径方法收集整理
2012/09/17 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
JavaScript的Function详细
2006/11/14 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
Node.js学习入门
2017/01/03 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
【python】matplotlib动态显示详解
2019/04/11 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
测绘工程个人的自我评价
2013/11/10 职场文书
设计部经理的岗位职责
2013/11/16 职场文书
开业庆典策划方案
2014/02/18 职场文书
黄金酒广告词
2014/03/21 职场文书
民生工作实施方案
2014/05/31 职场文书
五一劳动节活动总结
2015/02/09 职场文书
2016年五一促销广告语
2016/01/28 职场文书
如何用python插入独创性声明
2021/03/31 Python
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android