标签: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 性能
原文地址:http://jayshsoft.blog.51cto.com/11066123/1730856