你喜欢哪个?
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)
其中大多数是个人偏好与具体原因,但我首先更喜欢,因为我觉得这是更直接的方法.它遵循我对这个问题的思考方式.它似乎只是向后添加到列表然后初始化值.
我首选的一个具体原因是它对代码中的更改更具弹性.例如,如果Foo稍后从类更改为结构,则会破坏方案#2而不是#1.这是一个相当遥远的案例.
在C#3及更高版本中,您还可以使用集合初始值设定器来简化此操作.
this.Foos.Add(new Foo() { Prop1="1"; Prop2="2" });
Run Code Online (Sandbox Code Playgroud)