C#初始化List Collection

时间:2016-03-13 05:43:32

标签: c# .net collections

我总是这样初始化一个集合: -

List<Type> name = new List<Type>();

但是今天我看到了这样的事情: -

var variablename = new sMonth{
    x = foo;
    name = new List<Type>()
};

这甚至可能吗?这两种方式有什么区别?

1 个答案:

答案 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>();
}