在Java中,我喜欢使用诸如的结构
Listlist = new ArrayList () {{add("foo");}};
有没有办法在C#的1行中做到这一点呢?
这称为集合初始化程序,它是C#3.0的一部分.
除了列表之外,您还可以初始化更复杂类型的集合,只要它们实现IEnumerable并且对集合初始值设定项中的每个元素都有适当的Add方法.例如,您可以使用如下Add(key, value)
方法Dictionary
:
var dict = new Dictionary{ {"first", 10 }, {"second", 20 } };
更多细节可以在C#in Depth的第8章找到,可以从Manning的网站免费下载.
我想你想要的是一个数组初始化器
Listlist = new List () { "foo" };
多个项目应以逗号分隔
Listlist = new List () { "foo","bar","bas"};