关于nullreferenceexception:c#中对象的动态数组(或列表)?

dynamic array(or list) of objects in c#?

我正在尝试以下代码:

1
2
3
4
5
6
7
8
9
10
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);
        }

但我得到了这个错误:

'Object reference not set to an instance of an object.'

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


您需要初始化列表:

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

您需要先实例化books,如下所示:

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


当你说

1
private List<book> books;

它只创建具有空值的类型列表的引用。因此,当您试图调用列表结构的成员函数时,它会给出一个错误,即引用被设置为空。

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

1
books = new List<book>();