using System.Collections.Generic;
public string Title { get; set; }
public DateTime PublishDate { get; set; }
public string Genre { get; set; }
public override string ToString()
return $"Заглавие: {Title}, Дата на издаване: {PublishDate:dd.MM.yyyy}, Жанр: {Genre}";
private List<Book> books = new List<Book>();
public void AddBook(Book book)
Console.WriteLine("Книгата беше добавена успешно.");
public void RemoveBook(string title)
var book = books.FirstOrDefault(b => b.Title.Equals(title, StringComparison.OrdinalIgnoreCase));
Console.WriteLine("Книгата беше премахната успешно.");
Console.WriteLine("Книга с това заглавие не беше намерена.");
public Book FindBook(string title)
return books.FirstOrDefault(b => b.Title.Equals(title, StringComparison.OrdinalIgnoreCase));
public void PrintAllBooks()
Console.WriteLine("Няма добавени книги.");
foreach (var book in books)
BookList bookList = new BookList();
Console.WriteLine("\nМеню:");
Console.WriteLine("1. Добавяне на книга");
Console.WriteLine("2. Премахване на книга");
Console.WriteLine("3. Търсене на книга");
Console.WriteLine("4. Извеждане на всички книги");
Console.WriteLine("5. Изход");
Console.Write("Изберете опция: ");
string choice = Console.ReadLine();
Console.Write("Заглавие: ");
string title = Console.ReadLine();
Console.Write("Дата на издаване (дд.мм.гггг): ");
DateTime publishDate = DateTime.Parse(Console.ReadLine());
string genre = Console.ReadLine();
PublishDate = publishDate,
bookList.AddBook(newBook);
Console.Write("Въведете заглавието на книгата за премахване: ");
string removeTitle = Console.ReadLine();
bookList.RemoveBook(removeTitle);
Console.Write("Въведете заглавието на книгата за търсене: ");
string searchTitle = Console.ReadLine();
var foundBook = bookList.FindBook(searchTitle);
Console.WriteLine(foundBook);
Console.WriteLine("Книгата не беше намерена.");
bookList.PrintAllBooks();
Console.WriteLine("Невалиден избор. Опитайте отново.");