我有,
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<>
答案 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
调用。