关于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 字符串乘法
Aug 20 Javascript
Google Dart编程语法和基本类型学习教程
Nov 27 Javascript
Javascript中的arguments对象
Jun 20 Javascript
node.js 抓取代理ip实例代码
Apr 30 Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
vscode调试node.js的实现方法
Mar 22 Javascript
JS变量提升原理与用法实例浅析
May 22 Javascript
JS中准确判断变量类型的方法
Jun 01 Javascript
Vue3 实现双盒子定位Overlay的示例
Dec 22 Vue.js
Ajax实现页面无刷新留言效果
Mar 24 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
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
图片按比例缩放函数
2006/06/26 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
浅析Python 中整型对象存储的位置
2016/05/16 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
初中三年学生的学习自我评价
2013/11/13 职场文书
高考备战决心书
2014/03/11 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
软件售后服务承诺书
2014/05/21 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2015年药店工作总结
2015/04/20 职场文书
升学宴祝酒词
2015/08/11 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python