3
它允許做:快速簡單的制定者和獲得者?
public int Age
{
get;
set;
}
但它的應用程序中創建/分配該變量的空間?我通常做
private int age = 0;
public int Age
{
get { return this.age; }
set { this.age = value; }
}
它允許做:快速簡單的制定者和獲得者?
public int Age
{
get;
set;
}
但它的應用程序中創建/分配該變量的空間?我通常做
private int age = 0;
public int Age
{
get { return this.age; }
set { this.age = value; }
}
是的。如果您查看IL,您會看到它爲該屬性創建了一個支持變量。
如果編譯器發現空的get或set塊,則會在編譯時自動生成後臺字段,從而爲您節省工作量。您仍然可以添加獲取和設置塊,並在其中添加額外的過濾邏輯,但當然您必須鍵入所有這些。
有關Auto Properties的更多詳情,請參閱這裏。
@ Jason94 - 備份Tomas的答案,Bart De Smet有[非常透徹的博客文章](http://community.bartdesmet.net/blogs/bart/archive/2007/03/03/c-3-0 -automatic-properties-explained.aspx)以及您可能需要的所有詳細信息。 –