我一直在學習C#中的對象初始值設定項,但現在我想知道它在與構造函數衝突時是如何工作的。構造函數與C中的對象初始化優先級#
public class A
{
public bool foo { get; set; }
public A()
{
foo = true;
}
public A(bool bar)
{
foo = bar;
}
}
當我嘗試此操作時會發生什麼?
public class B
{
a = A() {foo = false};
b = A(true) {foo = false};
}
在構造函數中默認有一個bool
啓動真正的和可以改變的好辦法?
public A(bar=true)
{
foo = bar;
}
試試你的例子。 –
代碼全部只是運行 – Jonesopolis
是的,它仍然對默認初始化程序有效,但是如果你想要多個參數,你可以忘記的參數只是尾部參數。 – arifnpm