我最近一直在学习 C# 中的对象初始化程序,但现在我想知道它与构造函数冲突时它是如何工作的。
public class A
{
public bool foo { get; set; }
public A()
{
foo = true;
}
public A(bool bar)
{
foo = bar;
}
}
当我尝试这个时会发生什么?
public class B
{
private A a = new A() { foo = false };
private A b = new A(true) { foo = false };
}
构造函数中的默认值是让一个bool
开始为真并且可以更改的好方法吗?
public A(bool bar = true)
{
foo = bar;
}