博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
教你50招提升ASP.NET性能(二十):认识你的循环
阅读量:6519 次
发布时间:2019-06-24

本文共 1787 字,大约阅读时间需要 5 分钟。

(31)Know your loops

招数31:

认识你的循环

for is the fastest way of iterating over a collection, foreach is a little slower, and LINQ queries are slowest.

for是遍历集合最快的方法,foreach略慢一些,LINQ查询最慢。

测试代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Diagnostics;namespace ConsoleApplicationExample{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("code test:");            Stopwatch watch = new Stopwatch();            // for loop            watch.Start();            for (int i = 0; i < 100000; i++) { ; }            watch.Stop();            Console.WriteLine("for loop:");            Console.WriteLine(watch.Elapsed.TotalMilliseconds);            watch = new Stopwatch();            // while loop            watch.Start();            int loop = 0;            while (loop < 100000) { loop++; }            watch.Stop();            Console.WriteLine("while loop:");            Console.WriteLine(watch.Elapsed.TotalMilliseconds);            watch = new Stopwatch();            // foreach loop            watch.Start();            int[] array = new int[100000];            foreach (int i in array) { ; }            watch.Stop();            Console.WriteLine("foreach loop:");            Console.WriteLine(watch.Elapsed.TotalMilliseconds);            watch = new Stopwatch();            // foreach loop            watch.Start();            Array.ForEach(array, (i) => { ; });            watch.Stop();            Console.WriteLine("lamda loop:");            Console.WriteLine(watch.Elapsed.TotalMilliseconds);            Console.ReadLine();        }    }}

 

测试结果:

code test:for loop:0.2467while loop:0.2666foreach loop:0.4867lamda loop:0.8728

 

转载于:https://www.cnblogs.com/JavCof/p/3229905.html

你可能感兴趣的文章
云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例
查看>>
象云2.0产品发布暨国产操作系统首次入驻公有云
查看>>
一个完美DCIM应该具备的功能与价值
查看>>
《SEO的艺术(原书第2版)》——1.5 人们如何搜索
查看>>
经验贴 | 电梯监控的布线技巧
查看>>
唐山联通与丰南区政府签署“智慧城市”战略合作协议
查看>>
研究显示:广告拦截应用正在破坏互联网
查看>>
优云·小课堂 第八期:运维自动化的魅力
查看>>
写个软件来防止服务器网站CPU百分百
查看>>
智能城市里,“公共电话亭”的存在意味着什么?
查看>>
JVM分代垃圾回收策略的基础概念
查看>>
《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
查看>>
安装操作系统需要注意的事项
查看>>
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
BBC即将推出Britflix流媒体服务:欲成为英国版Netflix
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>
我眼中的自动化测试框架设计要点
查看>>
FLIF:自由的无损图像格式
查看>>