[C#]LINQ 隱含型別var

[C#]LINQ 隱含型別var

LINQ允許以一個隱含型別var取代Ienumerable<T>型別
如以下兩段 意義相同
var enumNumbers=
from number in numberQuery
select number;
IEnumberable<int> enumNumbers=
from number in numberQuery
select number;
以var關鍵字宣告變數,編譯器會自動從初紿化陳述式右側的運算式推斷變數的型別
使用var變數必須特別注意,在宣告的同時,必須進行初始化的動作,否則編譯器無法判斷其型別,同時,你也不能將一個null值指定給一個var變數
如以下兩行,皆會有錯誤訊息
var xx=null;
var yy;
以var 關鍵字宣告的變數,只能存在某個區域範圍,例如,方法或是迴圈 區塊內,
直接於類別區域宣告var變數是不合法的,方法回傳值以及參數 也不能是var型別
如以下皆是錯誤示範
public class Varcls
{
var xx=0;
}
public var DoSomething(int para)
{
return …
}
public intDoSomething(var para)
{
return …
}


如有錯誤 歡迎指正