如何使用 C# 中的方法在列表中添加数据?我正在尝试添加,但它无法保存数据,只能显示最后一个条目

这是我的问题。为了解决我在方法中使用列表,但它只显示最后一个条目。并保持以前的数据。请解决


问题 > 有一个图书馆。分别为书籍和图书馆定义类。图书馆必须包含名称和图书清单。书籍必须包含标题、作者、出版商、发行日期和 ISBN 号。在描述图书馆的类中,创建向图书馆添加图书、搜索预定义作者的图书、显示有关图书的信息以及从图书馆删除图书的方法。编写一个测试类,它创建一个类型库的对象,向其中添加几本书并显示每本书的信息。实现一个测试功能,它找到所有由 Stephen King 创作的书籍并删除它们。最后,显示其余每本书的信息。


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace ConsoleApplication310

{

    class book

    {

         public string title;

         public string author;

         public string publisher;

         public string releasedate;

         public string ISBN;

        public void display()

         {

             Console.WriteLine(title);

             Console.WriteLine(author);

             Console.WriteLine(publisher);

             Console.WriteLine(releasedate);

             Console.WriteLine(ISBN);

             Console.WriteLine("=======================");

         }

    }

    class liberay : book

    {

        string libname;

        public static List<book> b=new List<book>();

        public liberay(string libn)

        {

            libname = libn;

        }

        public void addbook(string t, string a, string p, string r, string i)

        {

            b = new List<book>()

            {

                new book{title=t,author=a,publisher=p,releasedate=r,ISBN=i}

            };

        }

        public void show()

        {

            Console.WriteLine(libname);

            for (int i = 0; i < b.Count; i++)

            {

                b[i].display();


            }

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

            liberay obj = new liberay("name");


            obj.addbook("a", "a", "a", "a", "a");


            obj.addbook("b", "b", "b", "b", "b");

            obj.show();



        }


    }

}



慕码人2483693
浏览 60回答 1
1回答

鸿蒙传说

试试这个代码当您调用 addbook 方法时,列表变量被初始化。所以它总是指向最后一个对象。因此,它只指向您添加的最后一本书。&nbsp; &nbsp; public void addbook(string t, string a, string p, string r, string i)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; b = new List<book>()&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new book{title=t,author=a,publisher=p,releasedate=r,ISBN=i}&nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; }->&nbsp; &nbsp; public void addbook(string t, string a, string p, string r, string i)&nbsp; &nbsp; {&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; b.Add(new book { title = t, author = a, publisher = p, releasedate = r, ISBN = i });&nbsp; &nbsp; }删除方法&nbsp; &nbsp; public void RemoveBookFromISBN(string targetISBN)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; var target = b.Find((x) => x.ISBN == targetISBN);&nbsp; &nbsp; &nbsp; &nbsp; if(target != null)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b.Remove(target);&nbsp;&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP