首页 > 其他 > 详细

for/foreach/linq效率测试

时间:2014-01-21 18:58:23      阅读:370      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
int count = 0;
            Random r = new Random();
            List<byte> list = new List<byte>();
            Console.WriteLine("开始for循环添加:");
            int ticks = Environment.TickCount;

            for (int i = 0; i < 10000000; i++)
            {
                list.Add((byte)r.Next(-1, 255));
            }
            int temp = Math.Abs(Environment.TickCount - ticks);
            Console.WriteLine("经过的时间为:"+temp);

            Console.WriteLine("开始foreach查询:");
            ticks = Environment.TickCount;
            count = 0;
            foreach (byte b in list)
            {
                if (b == 61) count += 1;
            }
            temp = Math.Abs(Environment.TickCount - ticks);
            Console.WriteLine("经过的时间为:" + temp);

            Console.WriteLine("开始for查询:");
            ticks = Environment.TickCount;
            count = 0;
            for (int i = 0; i < list.Count; i++)
            {
                if (list[i] == 61) count += 1;
            }
            temp = Math.Abs(Environment.TickCount - ticks);
            Console.WriteLine("经过的时间为:" + temp);


            Console.WriteLine("开始linq查询:");
            ticks = Environment.TickCount;
            count = 0;
            foreach (byte t in list.Where(t => t == 61))
            {
                count += 1;
            }
            temp = Math.Abs(Environment.TickCount - ticks);
            Console.WriteLine("经过的时间为:" + temp);

            Console.ReadLine();
bubuko.com,布布扣

运行结果

bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

 

运行了十几次基本结果都一样,不知道能不能下定论了。。。。。

for/foreach/linq效率测试

原文:http://www.cnblogs.com/danyueweb/p/3527775.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!