我想了解一些編程考試的代碼,我偶然發現了這個表示法,我似乎找不到解釋。 我搜索了stackoverflow,msdn和幾個在線教程,但沒有運氣。C#對象初始化程序
的代碼是這樣的:
class A
{
public A(): this("b")
{
Console.WriteLine("c");
}
public A(string i)
{
Console.WriteLine(i);
}
}
class B : A
{
public B()
{
Console.WriteLine("a");
}
---------------
static void Main(string[] args)
{
A b = new A();
}
}
此,按說,打印出「BC」,但我甚至無法理解的繼承和所有。我無法找出什麼是這個符號在這裏做:
public A(): this("b")
{
Console.WriteLine("c");
}
我發現的唯一的事情,看上去類似遠程的對象初始化,但只能在一個在線教程。爲他們檢查了MSDN - 沒有類似的代碼。任何人都可以幫忙?提前致謝!
您是否閱讀過有關構造函數語法的規範部分? –
[它被稱爲''構造器鏈接''。](http://stackoverflow.com/questions/1814953/c-sharp-constructor-chaining-how-to-do-it) –
什麼'符號'特別是混淆給你? ':this(「b」)'將調用A類參數化構造函數,並簡單地打印「b」,然後調用A無參數構造函數 - 打印「c」。 – Marcus