【问题标题】:dynamic array(or list) of objects in c#?c# 中对象的动态数组(或列表)?
【发布时间】:2012-01-28 21:43:52
【问题描述】:

我正在尝试这段代码:

private List<book> books;
//private book[] books;
.
.
.
private void button1_Click(object sender, EventArgs e)
        {
            books.Add(new book(book_name.Text));
            //book[0]=new book(book_name.Text);
        }

但我收到此错误:

'对象引用未设置为对象的实例。'

我该怎么办?我想通过事件动态创建对象。

【问题讨论】:

标签: c# nullreferenceexception


【解决方案1】:

你需要初始化你的列表:

private List<book> books = new List<book>();

【讨论】:

    【解决方案2】:

    你需要先实例化books,像这样:

    private List<book> books = new List<book>();
    

    【讨论】:

      【解决方案3】:

      当你说

      private List<book> books;
      

      它只创建一个具有空值的 List 类型的引用。所以当你尝试调用List结构的成员函数时,会报错,就是引用设置为null。

      你需要在构造函数中使用另一个语句来初始化变量

      books = new List<book>();
      

      【讨论】:

        猜你喜欢
        • 2011-03-23
        • 1970-01-01
        • 2013-12-16
        • 2013-11-13
        • 2021-06-03
        • 1970-01-01
        • 2017-11-19
        • 2016-04-12
        • 1970-01-01
        相关资源
        最近更新 更多