var關鍵字是c# 3.0開始新增的特性,稱為推斷型別 .
可以賦予區域性變數推斷「型別」var 而不是顯式型別。var 關鍵字指示編譯器根據初始化語句右側的表示式推斷變數的型別。推斷型別可以是內建型別、匿名型別、使用者定義型別、.net framework 類庫中定義的型別或任何表示式。
***************===
上面的資料有點抽象不好理解.
示例:原來我們定義變數,是要這樣:
資料型別 變數名 = 值;
如:int a = 1;
string b = "2";
也就是說,"必須先明確地"指定你的變數是什麼資料型別,才能給它賦值.這點很重要,要記住才好比較.
現在在c# 3.0裡,有了變化,就是可以不用像上面那樣定義變數了.
如:var a =1 ;
那這個a,是什麼型別呢?和原來的做法不一樣了.
奧妙就在這裡,ide或編譯器會根據你給a 的值:1,來"推論,斷定"a是乙個整數型別.
同理:var b = "2";
因為給b的值是"2"這樣乙個字串,所以,b就是string型別...
又如:var 是3.5新出的乙個定義變數的型別
其實也就是弱化型別的定義
var可代替任何型別
編譯器會根據上下文來判斷你到底是想用什麼型別的
至於什麼情況下用到var
我想就是你無法確定自己將用的是什麼型別
就可以使用var
類似 object
但是效率比object高點
使用var定義變數時有以下四個特點:
1. 必須在定義時初始化。也就是必須是var s = 「abcd」形式,而不能是如下形式:
var s;
s = 「abcd」;
2. 一但初始化完成,就不能再給變數賦與初始化值型別不同的值了。
3. var要求是區域性變數。
4. 使用var定義變數和object不同,它在效率上和使用強型別方式定義變數完全一樣。
C 中var關鍵字用法分析
原文連線 c 關鍵字是伴隨著.net 3.5以後,伴隨著匿名函式 linq而來,由編譯器幫我們推斷具體的型別。總體來說,當乙個變數是區域性變數 不包括類級別的變數 並且在宣告的時候初始化,是使用var關鍵字的前提。具體什麼時候使用,什麼時候不使用,以下是個人淺見。1 宣告匿名函式時使用var關鍵字 ...
C 中的var關鍵字
var 是3.5新出的乙個定義變數的型別 其實也就是弱化型別的定義 var可代替任何型別 編譯器會根據上下文來判斷你到底是想用什麼型別的 至於什麼情況下用到var 我想就是你無法確定自己將用的是什麼型別 就可以使用var 類似 object 但是效率比object高點。或者通俗的講 var可以理解為...
C 中的var關鍵字
c 中的var關鍵字 var 是3.5新出的乙個定義變數的型別 其實也就是弱化型別的定義 var可代替任何型別 編譯器會根據上下文來判斷你到底是想用什麼型別的 至於什麼情況下用到var 我想就是你無法確定自己將用的是什麼型別 就可以使用var 類似 object 但是效率比object高點。或者通俗...