相关疑难解决方法(0)

C#中的构造函数与对象初始化程序优先级

我最近在C#中学习了对象初始化程序,但是现在我想知道它在与构造函数冲突时是如何工作的.

public class A
{
    public bool foo { get; set; }
    public A()
    {
        foo = true;
    }
    public A(bool bar)
    {
        foo = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时会发生什么?

public class B
{
    a = A() {foo = false};
    b = A(true) {foo = false};
}
Run Code Online (Sandbox Code Playgroud)

构造函数中的默认值是一个bool开始为true并且可以更改的好方法吗?

public A(bar=true)
{
    foo = bar;
}
Run Code Online (Sandbox Code Playgroud)

c# constructor object-initializers

53
推荐指数
5
解决办法
2万
查看次数

标签 统计

c# ×1

constructor ×1

object-initializers ×1