C# 中的var關鍵字繼承
var 是3.5新出的一個定義變量的類型 稱爲推斷類型 . var 關鍵字指示編譯器根據初始化語句右側的表達式推斷變量的類型。推斷類型能夠是內置類型、匿名類型、用戶定義類型、.NET Framework 類庫中定義的類型或任何表達式。其實也就是弱化類型的定義 VAR可代替任何類型 編譯器會根據上下文來判斷你究竟是想用什麼類型的 至於什麼狀況下用到VAR 我想就是你沒法肯定本身將用的是什麼類型 就可使用VAR 。這玩意就只是起到一個繼承賦值的值的數據類型,自己是沒有任何東西的。可是,若是你賦值爲int,那麼這個 var就是一個int,你賦值爲一個string,那麼就是一個string,再也不能改寫。編譯器
或者通俗的講:string
var能夠理解爲匿名類型,咱們能夠認爲它是一個聲明變量的佔位符。它主要用於在聲明變量時,沒法肯定數據類型時使用。編譯
這玩意只是一個局部變量,不能賦值爲null,必需要定義初始值,不能做爲返回值或者參數,不能定義類成員。壓根就不能算成一個正式的變量,正如它的名字,隱式類型變量,(我以爲應該是繼承類型變量),最重要的做用。寫匿名內部類!效率
小技巧:在使用var 的時候,不須要去拆箱也不須要裝箱,這也是這玩意比object好用的地方,也是這玩意的賣點變量
使用var定義變量時有如下四個特色:object
1. 必須在定義時初始化。也就是必須是var s = 「abcd」形式,而不能是以下形式: var s; s = 「abcd」;技巧
2. 一但初始化完成,就不能再給變量賦與初始化值類型不一樣的值了。數據類型
3. var要求是局部變量。數據
4. 使用var定義變量和object不一樣,它在效率上和使用強類型方式定義變量徹底同樣。