2012-10-06 26 views
0

誰能解釋之間有什麼區別:區別Var =新列表<Variable>();和公共變量Var {get;組; }

Var1 = new List<Variable>(); 

public Variable Var1{ get; set; } 

其中

public class Variable 
{ 
    public string Value { get; set; } 
} 

在它們之間的區別還是他們同樣有什麼辦法?

任何幫助都很好。謝謝。

+1

var'不能用於聲明List時 – FosterZ

+0

YES,我的不好。對不起。 – gchimuel

+0

查看C#中字段和屬性的區別。 – Candide

回答

1

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 
0

var是由.NET提供的數據類型,Var是隱式類型。一個隱式類型的局部變量是強類型的,就像你自己聲明瞭類型一樣,但是編譯器決定了類型。它以C#編程語言中的任何類型進行別名。別名類型由C#編譯器確定。這沒有性能損失。 Var是優秀的語法糖。

例如

var str = "Hello World"; 

被編譯爲

string str = "Hello World"; 

而變這裏是一個自定義類,並沒有任何與C#.NET的變種。無論如何他們都沒有關係。

0

var = new List<Variable>();

這將創建Variable列表,如果你關心的是關鍵字var那麼它簡單地告訴我知道的數據類型等你所以才進行編譯。

Variable Var1{get;set;}是屬性,這可以讓你設置或獲取的Variable

的議員如

Var1 = new Variable{ 
Var1.Value = "abc" // setter; 
} 

或者

return Var1.Value // getter; 
+0

好的,公共變量Var1 {get;組; }它創建或返回什麼? – gchimuel

+0

更新了我的答案 – FosterZ

相關問題