关于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代码)
Oct 29 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
jQuery中校验时间格式的正则表达式小结
Sep 22 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
javascript中json基础知识详解
Jan 19 Javascript
AngularJs分页插件使用详解
Jun 30 Javascript
使用JS代码实现俄罗斯方块游戏
Aug 03 Javascript
对angularjs框架下controller间的传值方法详解
Oct 08 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
微信小程序图片自适应实现解析
Jan 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函数
2006/10/09 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
python进阶教程之动态类型详解
2014/08/30 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
介绍一下Java中标识符的命名规则
2014/02/03 面试题
公司同意接收函
2014/01/13 职场文书
目标责任书范本
2014/04/16 职场文书
食品药品安全责任书
2015/05/11 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
Vue Element plus使用方法梳理
2022/12/24 Vue.js