我是编程新手,在创建带有另一个类的list属性的类然后在main中访问它时遇到问题。尝试将项目添加到列表后,出现异常“对象引用未设置为对象的实例”,在运行时出现此错误。我确实知道List 引用为null,但是正在尝试理解为什么它为null以及如何解决它。如果仅在main中创建List,则我的代码将正常运行,但将来我希望将其作为一个类。就像我说的那样,我是OOP编程的新手,试图获取有关为什么发生这种情况的信息。如果这是一个重复的问题,我深表歉意。我的代码段如下:static void Main(string[] args) { BookList myBookList = new BookList(); myBookList.bookList.Add(new Book("The Giver", "Lois Lowry", "Houghton Mifflin")); myBookList.bookList.Add(new Book("Telling Lies", "Paul Ekman", "Norton & Company")); }class BookList{ public List<Book> bookList { get; set; }}class Book{ public Book(string title, string author, string publisher) { Title = title; Author = author; Publisher = publisher; } public string Title { get; set; } public string Author { get; set; } public string Publisher { get; set; }}谢谢,感谢您的帮助! (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 创建BookList时,实际上尚未初始化为其成员的列表。您可以通过将初始化更改为:BookList myBookList = new BookList() {bookList = new List<Book>()};或者通过编写BookList类的构造函数来初始化列表;或者看起来像这样:class BookList{ public List<Book> bookList { get; set; } public BookList(){ //New constructor bookList = new List<Book>(); }}出现此错误的原因是,在创建BookList实例时,实际上并没有确保BookList的内部booklist属性已初始化。就像您尝试执行此操作一样:List<string> newList;newList.Add("foo");那是行不通的,因为您只声明了newList,没有初始化它。 (adsbygoogle = window.adsbygoogle || []).push({}); 08-17 02:46