2013-10-20 11 views
5

Wie initialisiere ich die Member-Variablen während der Deklaration und erstellen Sie die Getter/Setter-Kurzschrift? Ist es möglich oder muss ich den Konstruktor verwenden, um den Wert zuzuweisen?initialisieren während der Deklaration und erstellen Kurzschrift Getter/Setter

Zum Beispiel möchte ich etwas similarl dazu

public class Money 
{ 
    public int dollars = 200 {get; set;} 
} 

oder

public int dollars = 200; 

dollars 
{ 
    get; 
    set; 
} 

Antwort

5

Leider gibt es derzeit keine Möglichkeit, dies zu tun zu erreichen.

Sie müssen entweder den Standardwert zuweisen, wenn Sie die Eigenschaften Hintergrundfeld deklarieren, oder den Standardwert aus dem Konstruktor zuweisen, wenn Sie eine automatische Eigenschaft verwenden.

public string FirstName { get; set; } = "Jane"; 

Quelle:

+0

Sie sprechen vor C# 6 Ich sehe andere haben ein Beispiel gegeben. – barlop

2
public class Money 
{ 
    public int Dollars {get;set;} 

    public Money() 
    { 
    Dollars = 200; 
    } 
} 
5

Entweder

public class Money 
{ 
    private int dollars = 200; 
    public int Dollars 
    { 
     get { return dollars; } 
     set { dollars = value; } 
    } 
} 

oder

public class Money 
{ 
    public int Dollars { get; set; } 

    public Money() 
    { 
     Dollars = 200; 
    } 
} 
14

In C# 6 und höher, können Sie automatisch implementierte Eigenschaften ähnlich wie Felder initialisieren MSDN