誰能解釋之間有什麼區別:區別Var =新列表<Variable>();和公共變量Var {get;組; }
Var1 = new List<Variable>();
和
public Variable Var1{ get; set; }
其中
public class Variable
{
public string Value { get; set; }
}
在它們之間的區別還是他們同樣有什麼辦法?
任何幫助都很好。謝謝。
誰能解釋之間有什麼區別:區別Var =新列表<Variable>();和公共變量Var {get;組; }
Var1 = new List<Variable>();
和
public Variable Var1{ get; set; }
其中
public class Variable
{
public string Value { get; set; }
}
在它們之間的區別還是他們同樣有什麼辦法?
任何幫助都很好。謝謝。
1)List<Variable> Var1 = new List<Variable>();
這是宣佈Var1
爲收藏品對Variable
對象。所以VAR1將持有的Variable
Var1.Add(new Variable());
Var1.Add(new Variable());
Var1.Add(new Variable());
現在列表中,我們有VAR1 3項
2)public Variable Var1{ get; set; }
這是宣佈VAR1作爲一個類的屬性,只能採取在一個值時間
public class MyClass
{
public Variable Var1{ get; set; }
}
MyClass c = new MyClass();
c.Var1 = v; //where v is an instance of Variable class
//or
Variable v = c.Var1; //returns an Instance of Variable which is a property of c
var是由.NET提供的數據類型,Var是隱式類型。一個隱式類型的局部變量是強類型的,就像你自己聲明瞭類型一樣,但是編譯器決定了類型。它以C#編程語言中的任何類型進行別名。別名類型由C#編譯器確定。這沒有性能損失。 Var是優秀的語法糖。
例如
var str = "Hello World";
被編譯爲
string str = "Hello World";
而變這裏是一個自定義類,並沒有任何與C#.NET的變種。無論如何他們都沒有關係。
var'不能用於聲明List時 – FosterZ
YES,我的不好。對不起。 – gchimuel
查看C#中字段和屬性的區別。 – Candide