首页 > 解决方案 > 初始化一个 IEnumerable到新列表

问题描述

我有这样的课:

public class ItemList
{
    [JsonProperty("items")]
    public IEnumerable<Item> Items { get; set; }
}

我想初始化空列表,如下所示:

var newItemList = new ItemList
{
    Items = new List<Item>()
};

Items剩下的IEnumerable 和我不能使用Add的或其他方法的列表。

标签: c#listlinqgenericsienumerable

解决方案


您可以使用以下两个选项之一。

  1. 您可以使用下面的列表初始化程序

     var itemList = new ItemList() {
         Items = new List<Item>() {
             new Item() { Name = "One" },
             new Item() { Name = "Two" }
         }
     };
    
  2. 您可以完全初始化列表,然后将其分配给Items

  3. 更好的方法是使用 Builder 模式,这将有助于构建https://code-maze.com/fluent-builder-recursive-generics/ItemList中描述的


推荐阅读