【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反編譯工具查看到spa

 

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

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

  2)var變量在聲明以前必須被初始化對象

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

  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;
        }
    }
相關文章
相關標籤/搜索