码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2016-01-02 16:34:33      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:c# var 性能

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

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

 

实践出真知:

新建一个控制台应用程序

/*Var 性能测试 */
           Stopwatch stw = new Stopwatch();
 
           List<int> intlist = new List<int>();
           stw.Start();
           for( int i = 0; i < 10000000; i++ ) {
               var index = i;//使用var转入和转出
               intlist.Add(index);
           }
           stw.Stop();
           Console.WriteLine("Var:{0}", stw.Elapsed.Ticks);
 
 
           /*Int 性能测试 */
 
 
           List<int> intlist2 = new List<int>();
           stw.Start();//开始时间
           for( int i = 0; i < 1000000; i++ ) {
               int index = i;//使用int转入和转出
               intlist2.Add(index);
           }
           stw.Stop();
           Console.WriteLine("int:{0}", stw.Elapsed.Ticks);
 
           /*Object性能测试 */
           stw.Start();//开始时间
 
           List<int> intlist3 = new List<int>();
           for( int i = 0; i < 1000000; i++ ) {
               object index = i;//使用object转入和转出
               intlist3.Add((int)index);
           }
           stw.Stop();
           Console.WriteLine("obj:{0}", stw.Elapsed.Ticks);
 
           Console.Read();

 

 

测试结果:

技术分享

 

技术分享

总结:

 var性能 > int > object

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

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


本文出自 “史林峰的个人博客” 博客,请务必保留此出处http://jayshsoft.blog.51cto.com/11066123/1730856

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

标签:c# var 性能

原文地址:http://jayshsoft.blog.51cto.com/11066123/1730856

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!