C 中var關鍵字用法 收藏

2021-05-26 18:53:20 字數 988 閱讀 2902

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高點。或者通俗...