Title、Author、およびID#を持つBooksのリストを持つLibraryクラスを作成する必要があります。私は本を追加する方法、タイトルごとに本を見つける方法、すべての本を表示する方法、および本を取り除く方法が必要です。リスト内のブックを検索し、リストからブックを削除するためのC#メソッド
私のaddBook()メソッドは正しいですか?
findBook()メソッドでBookクラスにコンストラクタを作成するとエラーがありますが、コンストラクタは既に存在します。
また、リストからブックを削除し始めるのは本当にわかりません...リストからアイテムを削除するためのソリューションを探しましたが、自分のプログラムでどのように実装するのか分かりません。
私の最初の大学のコースCSE 1301はひどいので、私は多くのことを理解していません。私は基本的なものとより複雑なものを学ばなければなりません。
public class Library
{
public string name;
public List<Book> books = new List<Book>();
public void addBook(string title, string author)
{
int bookQuantity;
string btitle;
string bauthor;
bookQuantity = int.Parse(Console.ReadLine());
for (int x = 0; x <= bookQuantity; x++)
{
Console.WriteLine("Enter Title:");
btitle = Console.ReadLine();
Console.WriteLine("Enter Author:");
bauthor = Console.ReadLine();
books.Add(new Book(btitle, bauthor));
}
}
public void findBook()
{
var obj = new Book();
obj.ID = "xy";
string id = obj.ID;
Book result = books.Find(x => x.ID == "xy");
}
public void displayBooks()
{
foreach (Book b in books)
{
Console.WriteLine(b.ToString());
}
}
public void removeBook()
{
}
public Library()
{
}
}
public class Book
{
public string title;
public string author;
public int id;
static int isbn;
public string ID { get; set; }
public void assignID()
{
id = isbn;
isbn++;
}
public Book(string title, string author)
{
this.title = title;
this.author = author;
}
public override string ToString()
{
return string.Format("Title: " + title, "\nAuthor: " + author, "\nISBN: " + id);
}
}
...単にlist.removeその後、タイトルやISBNコード(あなたの選択またはその両方)を使用して、リストを横断し、removeメソッドについては...
をコンパイルしますどの行?あなたのクラスの新しいインスタンスを作っていないように見えるので、book.book()を呼び出す代わりに、そのメソッドは括弧内に2つの引数を持ちます... – Niklas
あなたのFindBook()メソッドをこれに変更し、実際に本を見つけて返すことができるように予約するための空白、そしてあなたのコードはコンパイルされます。少なくともエラーはそのように固定されています... public Book findBook() { string id = "xy"; return books.FirstOrDefault(x => x.ID == id); } – Niklas
@Niklas:それは1つの本しか見つけられません。 – siride