3 回答

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個贊
VAR 是3.5新出的一個定義變量的類型
其實(shí)也就是弱化類型的定義
VAR可代替任何類型
編譯器會根據(jù)上下文來判斷你到底是想用什么類型的
至于什么情況下用到VAR 我想就是你無法確定自己將用的是什么類型
就可以使用VAR 類似 OBJECT
但是效率比OBJECT高點(diǎn)
使用var定義變量時有以下四個特點(diǎn):
1. 必須在定義時初始化。也就是必須是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
2. 一但初始化完成,就不能再給變量賦與初始化值類型不同的值了。
3. var要求是局部變量。
4. 使用var定義變量和object不同,它在效率上和使用強(qiáng)類型方式定義變量完全一樣。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個贊
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)類型方式定義變量完全一樣。

TA貢獻(xiàn)1803條經(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á)式。
c#
C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級程序設(shè)計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。
但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點(diǎn),與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網(wǎng)絡(luò)框架的主角。
- 3 回答
- 0 關(guān)注
- 1021 瀏覽
添加回答
舉報