VAR
強型別的隱式型別區域性變數,就像使用者宣告瞭型別一樣。與其他變數宣告不同,編譯器根據分配給它的值確定它所代表的變數的型別。
var i = 10; // implicitly typed, the compiler must determine what type of variable this is
int i = 10; // explicitly typed, the type of variable is explicitly stated to the compiler
// Note that these both represent the same type of variable (int) with the same value (10).
與其他型別的變數不同,具有此關鍵字的變數定義需要在宣告時初始化。這是由於 var 關鍵字表示隱式型別變數。
var i;
i = 10;
// This code will not run as it is not initialized upon declaration.
該變種的關鍵字,也可用於動態建立新的資料型別。這些新資料型別稱為匿名型別。它們非常有用,因為它們允許使用者定義一組屬性,而不必首先顯式宣告任何型別的物件型別。
簡單的匿名型別
var a = new { number = 1, text = "hi" };
返回匿名型別的 LINQ 查詢
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}
public class DogWithBreed
{
public Dog Dog { get; set; }
public string BreedName { get; set; }
}
public void GetDogsWithBreedNames()
{
var db = new DogDataContext(ConnectString);
var result = from d in db.Dogs
join b in db.Breeds on d.BreedId equals b.BreedId
select new
{
DogName = d.Name,
BreedName = b.BreedName
};
DoStuff(result);
}
你可以在 foreach 語句中使用 var 關鍵字
public bool hasItemInList(List<String> list, string stringToSearch)
{
foreach(var item in list)
{
if( ( (string)item ).equals(stringToSearch) )
return true;
}
return false;
}