我总是这样初始化一个集合: -
List<Type> name = new List<Type>();
但是今天我看到了这样的事情: -
var variablename = new sMonth{
x = foo;
name = new List<Type>()
};
这甚至可能吗?这两种方式有什么区别?
答案 0 :(得分:2)
是的,您的第二个代码段是object initialization的示例。
假设您的sMonth
对象包含List<Type>
类型的属性,您可以在创建外部对象时初始化对象:
var variablename = new sMonth{
x = foo,
name = new List<Type>()
};
注意项目之间的逗号。
此外,由于您没有为name
分配任何内容,因此可以使用sMonth
构造函数为您初始化集合:
public sMonth()
{
name = new List<Type>();
}