1 回答

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個贊
var關(guān)鍵字是C#3.0開始新增的特性,稱為推斷類型(其實(shí)也就是弱化類型的定義) 。
VAR可代替任何類型,編譯器會根據(jù)上下文來判斷你到底是想用什么類型,類似 OBJECT,但是效率比OBJECT高點(diǎn)。
我們可以賦予局部變量推斷“類型”var而不是顯式類型。var 關(guān)鍵字指示編譯器根據(jù)初始化語句右側(cè)的表達(dá)式推斷變量的類型。推斷類型可以是內(nèi)置類型、匿名類型、用戶定義類型、.NET Framework 類庫中定義的類型或任何表達(dá)式。
示例:
原先定義變量,是要這樣: 數(shù)據(jù)類型 變量名 = 值;
如:
int a = 1;
string b ="2";
也就是說,"必須先明確地"指定你的變量是什么數(shù)據(jù)類型,才能給它賦值.這點(diǎn)很重要,要記住才好比較.
現(xiàn)在在C# 3.0里,有了變化,就是可以不用像上面那樣定義變量了.
如:
var a =1 ;
IDE或編譯器會根據(jù)你給a 的值:1,來"推論,斷定"a是一個整數(shù)類型.
同理:
var b ="2";
因?yàn)榻ob的值是"2"這樣一個字符串,所以,b就是string類型...
Ps.當(dāng)你無法確定自己將用的是什么類型,就可以使用VAR
使用var定義變量時有以下四個特點(diǎn):
1. 必須在定義時初始化。也就是必須是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
2. 一但初始化完成,就不能再給變量賦與初始化值類型不同的值了。
3. var要求是局部變量。
4. 使用var定義變量和object不同,它在效率上和使用強(qiáng)類型方式定義變量完全一樣。
- 1 回答
- 0 關(guān)注
- 593 瀏覽
添加回答
舉報