我正在尝试创建新对象,并将它们添加到对象列表中,但是我在这里遇到了一些问题

问题描述 投票:0回答:1

我尝试过的事情:

我打印出BookFields数组中的每个元素,以确保id为1,标题为“ Head First Python,依此类推,并且每个元素似乎在行拆分中都具有正确的索引。我查看了代码,但我没有捕获任何可能导致此错误的内容,原因是元素显示的应为错误。我在哪里出错了?

尽管将id解析为一个整数,我仍然继续收到此错误消息。

Error Message screenshot

book.txt file screenshot

Printed Elements in BookFields, but getting an Out of Bounds Error

code Screenshot of elements printed

这是我的代码:

        static void Main(string[] args){

        var BookCsvData = 
        System.IO.File.ReadAllLines(@"/Users/jasonampah/Desktop/Book.txt").ToList();

        var AllBooks = new List<Book>() { };
        foreach (string line in BookCsvData)
        {
            string[] Bookfields = line.Split(',');
            Book Newbook = new Book();
            Newbook.id = int.Parse(Bookfields[0]);
            Newbook.Title = Bookfields[1];
            Newbook.Synopsis = Bookfields[2];
            Newbook.Author = Bookfields[3];
            Newbook.YearPublished = Bookfields[4];
            Newbook.ISBN = long.Parse(Bookfields[5]);
            AllBooks.Add(Newbook);
        }
    }
c# object text-files
1个回答
0
投票

书籍的ISBN字段是什么类型?我认为这就是问题所在。

[此外,您不必自己实现CSV读取功能,那里有一些很酷的库可以为您完成此操作。我建议使用CSVHelper,但还有其他功能,请看看。

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.