程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#聲明變量的那點事兒

C#聲明變量的那點事兒

編輯:C#入門知識

C#聲明變量的語法(三種):
類型 變量名(強類型聲明)
var 變量名(待編譯時確定類型)
dynamic 變量名(待執行時確定類型)

到底哪種執行效率高呢?

還是不說廢話,上代碼,需要知道結果,可以copy代碼後執行看看:
[csharp] 
using System; 
using System.Diagnostics; 
 
namespace Var_Test 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            Console.WriteLine("本程序旨在測試 強類型 var(推斷類型) dynamic(動態類型) 的執行效率"); 
            Console.WriteLine("\t測試方法:"); 
            Console.WriteLine("\t\t通過各種聲明引用類型的變量1000000次,並計時,最後輸出計時。"); 
            Console.WriteLine("----\t測試\tvar(推斷類型)\t----"); 
            Stopwatch sw_2 = new Stopwatch(); 
            sw_2.Start(); 
            for (int i = 0; i < 1000000; i++) 
            { 
                var p = new People(); 
                p.Name = i.ToString(); 
                p.Age = i; 
            } 
            sw_2.Stop(); 
            Console.WriteLine("----\t時間\t{0}", sw_2.ElapsedMilliseconds);  
             
            Console.WriteLine("----\t測試\t強類型\t----"); 
            Stopwatch sw_1 = new Stopwatch(); 
            sw_1.Start(); 
            for (int i = 0; i < 1000000; i++) 
            { 
                People p = new People(); 
                p.Name = i.ToString(); 
                p.Age = i; 
            } 
            sw_1.Stop(); 
            Console.WriteLine("----\t時間\t{0}",sw_1.ElapsedMilliseconds); 
 
 
            Console.WriteLine("----\t測試\tdynamic(動態類型)\t----"); 
            Stopwatch sw_3 = new Stopwatch(); 
            sw_3.Start(); 
            for (int i = 0; i < 1000000; i++) 
            { 
                dynamic p = new People(); 
                p.Name = i.ToString(); 
                p.Age = i; 
            } 
            sw_3.Stop(); 
            Console.WriteLine("----\t時間\t{0}", sw_3.ElapsedMilliseconds); 
 
            Console.WriteLine("測試結果:通過強類型聲明和Var聲明基本相當(Var略比強類型慢),原因,var在程序編譯時確定類型,強類型在聲明時確定類型。而.net應用程序在第一次執行時才進行具體編譯。"); 
            Console.WriteLine("\t\t通過dynamic聲明變量,很耗時。"); 
            Console.WriteLine("測試結束。按任意鍵退出。"); 
            Console.ReadKey(); 
        } 
    } 
 
     class People 
    { 
        public string Name { get; set; } 
        public int Age { get; set; } 
    } 

作者:ymchinabye

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