对象初始化程序是否保证按顺序运行?

时间:2018-09-04 11:27:22

标签: c# .net

我正在创建以下对象:

var i = 0;
var foo = new Foo();
foo.A = ++i;
foo.B = ++i;
foo.C = ++i;

Assert(foo.A == 1);
Assert(foo.B == 2);
Assert(foo.C == 3);

我们可以使用对象初始化程序来编写同一对象:

var i = 0;
var foo = new Foo
{
    A = ++i,
    B = ++i,
    C = ++i
}

Assert(foo.A == 1);
Assert(foo.B == 2);
Assert(foo.C == 3);

在对象初始化程序的情况下,属性设置的顺序是否得到保证?

0 个答案:

没有答案