【C#】隱式類型var


在.NET 3.0后微軟引入了隱式類型var,編譯器可以自動判斷變量的類型,通過var這個隱式類型,可以提高開發人員的開發效率,很多時候可以不考慮對象的類型,編譯器會自動幫我們判斷

使用隱式類型和使用其他顯式類型的效果是一樣的,只是在編譯的過程IDE自動判斷類型,所以很多時候我們不用考慮變量的具體類型

    class Program
    {
        static void Main(string[] args)
        {
            var str = "aaa";
            var i = 15;
            var obj = new { Name = "10", Age = 15 };
            str.ToString();
            i.ToString();
        }
    }

編譯完,IDE會自動的把var換成string,int,而第三個,在編譯的時候會自動生成一個匿名的類,obj是一個類的對象,可以通過Reflector反編譯工具查看到

 

在使用隱式類型var的時候,需要遵循幾個規則

  1)var類型的值必須是局部變量靜態變量

  2)var變量在聲明之前必須被初始化

  3)變量的值不能為null(這樣編譯器就不能判斷類型了)

  4)var變量不能為一個方法或方法組

  5)不能用來聲明參數類型

    class Program
    {
        int num = 15;
        static void Main(string[] args)
        {
            string str;
            //不能使用為初始化的變量
            //var s = str;

            //不能引用字段,只能是局部變量或靜態變量
            //var n = num;

            //var變量值不能為null
            //var s = null;

            //不能用函數返回值賦值
            //var s = Add(10, 15);
        }
        //不能用作方法參數類型
        //public int Add(var a, var b)
        public int Add(int a, int b)
        {
            return a + b;
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM