c# - 如何用列表初始化类?

标签 c# list

基本问题,但我无法在任何地方找到答案,我有 2 个类(class):

public class Book
{
    public int Id { get; set; }
    public string Category { get; set; }
    public string Title { get; set; }
    public IList<Chapter> Chapters{ get; set; }
}

public class Chapter
{
    public int Id { get; set; }
    public string Title { get; set; }
}

如何添加或初始化它?我试过:

 var books = new List<Book>();

        books.Add(new Book()
        {
            Id = 1,
            Category = "test",
            Title = "Book1 test",
            Chapters = new Chapter() { Id = 1, Title = "A"},
                       new Chapter() { Id = 2, Title = "B" }
        });

但我收到一个错误:无效的初始值设定项成员声明符?

最佳答案

我觉得你想要

Chapters = new List<Chapter>() 
               {
                  new Chapter() { Id = 1, Title = "A"},
                  new Chapter() { Id = 2, Title = "B" }
               }

代替:

Answers = new Chapter() { Id = 1, Title = "A"},
          new Chapter() { Id = 2, Title = "B" }
  1. 您的Book 类没有名为Answers 的属性
  2. 您需要创建一个新集合并将初始化(new Chapter() { ... })放入集合初始化器中。

关于c# - 如何用列表初始化类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24728024/

相关文章:

python - 我无法在 for 循环中增加列表中的特定值

c# - 当 YAML 文档的字段类型不正确时,YamlDotNet 反序列化抛出异常

c# - 在代码隐藏之外的其他地方捕获事件

c# - LINQ Max() 在列表里面的列表

c# - 从中序和先序遍历创建树的程序(迭代方法?)

c - 修改链表中结构体的字段

javascript - 通过ajax传递数组

python - 如何在特定字符处拆分字符串并构建不同的字符串组合

java - 如何在java中以编程方式向列表Double添加元素

linq - “等于”和“顺序等于”之间的区别?