Technorati 標簽:
C#
轉載自csdn:http://blog.csdn.net/robingaoxb/article/details/6175533
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不同,它在效率上和使用強類型方式定義變量完全一樣。