同时将对象添加到具有属性的列表中

时间:2015-11-28 09:31:38

标签: c#

我有,

List<Items> itemDetails = new List<Item>();
itemDetails.Add(new Item { isNew = true, Description = "test description" });

为什么我不能写上面的代码

List<Items> itemDetails = new List<Item>().Add(new Item { isNew = true, Description = "test description" });

它给出了错误

Cannot implicitly convert type 'void' to 'System.Collections.Generic.List<>

1 个答案:

答案 0 :(得分:5)

当您致电Add时,其返回类型为void ...这就是您收到错误的原因。表达式new List<Item>().Add(...)的总体结果为void

但是,您可以使用collection initializer

List<Item> itemDetails = new List<Item>
{
    new Item { isNew = true, Description = "test description" },
    new Item { isNew = false, Description = "other description" }
};

这基本上告诉编译器将集合初始化程序中的每个元素转换为Add调用。