c#声明列表并使用一行代码填充值

时间:2013-05-23 10:49:08

标签: c# .net

我有以下列表

var list = new List<IMyCustomType>();
list.Add(new MyCustomTypeOne());
list.Add(new MyCustomTypeTwo());
list.Add(new MyCustomTypeThree());
这个过程是有效的,但是我想知道如何使用一个语句来声明列表并填充值?

由于

5 个答案:

答案 0 :(得分:12)

var list = new List<IMyCustomType>{ 
    new MyCustomTypeOne(), 
    new MyCustomTypeTwo(), 
    new MyCustomTypeThree() 
};

编辑:Asker将“一行”更改为“一个声明”,这看起来更好。

答案 1 :(得分:9)

var list = new List<IMyCustomType>
{
   new MyCustomTypeOne(),
   new MyCustomTypeTwo(),
   new MyCustomTypeThree()
};

不太确定为什么要将它放在一行?

答案 2 :(得分:3)

使用集合初始化程序

var list = new List<IMyCustomType>
{
   new MyCustomTypeOne(){Properties should be given here},
   new MyCustomTypeTwo(){Properties should be given here},
   new MyCustomTypeThree(){Properties should be given here},
}

答案 3 :(得分:2)

您可以使用collection initializor

var list = new List<IMyCustomType>() { new MyCustomTypeOne(), new MyCustomTypeTwo(), new MyCustomTypeThree() };

答案 4 :(得分:1)

var list = new List<IMyCustomType>{ new MyCustomTypeOne(), new  MyCustomTypeTwo() };