程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中var、int、object性能比較,

C#中var、int、object性能比較,

編輯:C#入門知識

C#中var、int、object性能比較,


 

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或其他類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved