首页 > Windows开发 > 详细

C#中var、int、object性能比较

时间:2016-01-02 14:08:08      阅读:248      评论:0      收藏:0      [点我收藏+]

 

var关键字是.net3.5推出的关键字,主要是让编译器自动推断并判断变量类型,类似javascript中的var。

在使用一些性能优化软件时,在代码优化时,我发现不管定义什么类型的变量,变量的类型都统统换成var。难道var的性能比具体的类型和object都要高?

 

实践出真知:

新建一个控制台应用程序

 

技术分享
 1 /*Var 性能测试 */
 2            Stopwatch stw = new Stopwatch();
 3  
 4            List<int> intlist = new List<int>();
 5            stw.Start();
 6            for( int i = 0; i < 10000000; i++ ) {
 7                var index = i;//使用var转入和转出
 8                intlist.Add(index);
 9            }
10            stw.Stop();
11            Console.WriteLine("Var:{0}", stw.Elapsed.Ticks);
12  
13  
14            /*Int 性能测试 */
15  
16  
17            List<int> intlist2 = new List<int>();
18            stw.Start();//开始时间
19            for( int i = 0; i < 1000000; i++ ) {
20                int index = i;//使用int转入和转出
21                intlist2.Add(index);
22            }
23            stw.Stop();
24            Console.WriteLine("int:{0}", stw.Elapsed.Ticks);
25  
26            /*Object性能测试 */
27            stw.Start();//开始时间
28  
29            List<int> intlist3 = new List<int>();
30            for( int i = 0; i < 1000000; i++ ) {
31                object index = i;//使用object转入和转出
32                intlist3.Add((int)index);
33            }
34            stw.Stop();
35            Console.WriteLine("obj:{0}", stw.Elapsed.Ticks);
36  
37            Console.Read();
View Code

 

 

测试结果:

技术分享

 

技术分享

总结:

 var性能 > int > object

   object 类型牵涉装箱拆箱的问题,自然是效率最慢的。

    但从测试结果来看,var类型的性能总是优于int或其他类型。

C#中var、int、object性能比较

原文:http://www.cnblogs.com/jayshsoft/p/var_int_object_perf.html

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