在初始化之前或之后添加新项目到列表?

Kev*_*ang 4 c#

你喜欢哪个?

var foo = new Foo();

foo.Prop1 = "1";
foo.Prop2 = "2";
// etc...

this.Foos.Add(foo);
Run Code Online (Sandbox Code Playgroud)

要么

var foo = new Foo();
this.Foos.Add(foo);

foo.Prop1 = "1";
foo.Prop2 = "2";
// etc...
Run Code Online (Sandbox Code Playgroud)

Jar*_*Par 7

其中大多数是个人偏好与具体原因,但我首先更喜欢,因为我觉得这是更直接的方法.它遵循我对这个问题的思考方式.它似乎只是向后添加到列表然后初始化值.

我首选的一个具体原因是它对代码中的更改更具弹性.例如,如果Foo稍后从类更改为结构,则会破坏方案#2而不是#1.这是一个相当遥远的案例.

在C#3及更高版本中,您还可以使用集合初始值设定器来简化此操作.

this.Foos.Add(new Foo() { Prop1="1"; Prop2="2" });
Run Code Online (Sandbox Code Playgroud)