Cleary我在这里遗漏了一些东西,但我看不到
List<Item> Items = new List<Item>().Add(new Item() { Code = "12223", ExGroup = 2});
错误讯息是
无法隐式将
void
类型转换为List<>
由于
答案 0 :(得分:13)
使用object initializer
获取列表。您无法像{strong>那样致电Add
,因为它会返回void
,而不是List
本身。试试这个:
List<Item> Items = new List<Item>
{
new Item { Code = "12223", ExGroup = 2 }
};
答案 1 :(得分:2)
您需要在两行上执行此操作:
List<Item> Items = new List<Item>();
Items.Add(new Item() { Code = "12223", ExGroup = 2});
您收到错误的原因是List<T>.Add
方法没有返回任何内容,并且您的Items
预计会被右侧返回的内容填充。
这是Add方法的签名。
public void Add(
T item
)
答案 2 :(得分:0)
或者像这样
List<Item> Items = new List<Item>{
new Item() { Code = "12223", ExGroup = 2}
};
答案 3 :(得分:0)
您无法使用Add with object initializer。 List.Add return void 在初始化列表时不会出现这种情况。请改用:
List<Item> Items = new List<Item>
{
new Item { Code = "12223", ExGroup = 2 }
};
或者,如果您仍想使用Add,则可以按照Habib的说明将代码拆分为两行。
希望这有帮助。
答案 4 :(得分:0)
如果您想在一行中执行此操作,请使用Collection Initializer
如:
List<Item> Items = new List<Item>
{ new Item() { Code = "12223", ExGroup = 2 } };