0

テキスト ファイルから読み取り、各行をリストに入れ、そのリストから読み取る必要があります。しかし、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という NullReferenceException が発生します。while 例外で約 7 行下。考えられることはすべて試しました。前もって感謝します。

                StreamReader sre = new StreamReader(FILE_PATH);
                Books books = new Books();
                string line;
                while ((line = sre.ReadToEnd()) != null)
                {
                 //NullReferenceException is Right here
                 //I defined myLibraryBooks outside of this code; But it is in the same scope
                    myLibraryBooks.Add(new Books() { Author = books.Author.ToUpper(), Title = line.ToUpper(), ISBN = line, Publish_Date = line });
                }
                Console.Write("Enter Author's Name:");
                string input_to_find = Console.ReadLine();
                var author = from Authors in myLibraryBooks
                             where Authors.Author == input_to_find
                             select Authors;

                foreach (var book in author)
                {
                    Console.WriteLine(String.Format("      Author            Title            ISBN            Publish Date"));
                    Console.WriteLine(String.Format("       {0}          {1}              {2}                {3}", books.Author, books.Title, books.ISBN, books.Publish_Date));
                }
                sre.Dispose();
4

1 に答える 1

1

を宣言しbooksていますが、何かに設定されているようには見えません (コンストラクターで奇妙なことをしていない限り)。これに基づいて、次の行でこの例外が発生する可能性があると言えます。

      *Guessing Author is null...
books.Author.ToUpper()

.NET のデバッグ ツールを利用して、コードを 1 行ずつ実行し、問題の場所を確認します。

于 2013-02-25T16:50:17.107 に答える