:this(…)
• 一個構造函數可以調用另一構造函數
struct ColouredPoint
{
public ColouredPoint(int x, int y)
: this(x, y, Colour.Red)
{
}
public ColouredPoint(int x, int y, Colour c)
{
...
}
...
private int x, y; www.2cto.com
private Colour c;
}
結構類總有一編譯器聲明的公有的缺省構造函數。不管你有沒有聲明構造函數,編譯器聲明的公有的缺省構造函數總是存在的。所以你不能定義缺省構造函數,這樣會出現兩個缺省構造函數,這是不允許的。但要注意的是,這只適合於結構,對於類是不適用的。用戶自定義的結構類的構造函數的默認訪問權限是private,和結構類的字段一樣。
C#不允許你聲明一個和構造函數名字一樣的函數。
作者:ershouyage