using System.Collections.Generic;
if (string.IsNullOrWhiteSpace(value))
throw new ArgumentException("Заглавието не може да бъде празно!");
if (string.IsNullOrWhiteSpace(value))
throw new ArgumentException("Авторът не може да бъде празен!");
throw new ArgumentException("Броят страници трябва да бъде положително число!");
throw new ArgumentException("Цената не може да бъде отрицателна!");
public Book(string title, string author, int pages, decimal price)
List<Book> books = new List<Book>
new Book("Под игото", "Иван Вазов", 300, 15.50m),
new Book("Бай Ганьо", "Алеко Константинов", 180, 12.00m),
new Book("Тютюн", "Димитър Димов", 600, 20.00m),
new Book("Железният светилник", "Димитър Талев", 400, 18.50m),
new Book("Епопея на забравените", "Иван Вазов", 150, 10.00m)
var vazovBooks = books.Where(b => b.Author == "Иван Вазов").ToList();
Console.WriteLine("Книги на Иван Вазов:");
vazovBooks.ForEach(b => Console.WriteLine(b.Title));
var cheapestBook = books.OrderBy(b => b.Price).FirstOrDefault();
Console.WriteLine($"Най-евтината книга: {cheapestBook.Title} - {cheapestBook.Price} лв.");
var booksOver200Pages = books.Where(b => b.Pages > 200).OrderBy(b => b.Title).ToList();
Console.WriteLine("Книги с повече от 200 страници (сортирани по заглавие):");
booksOver200Pages.ForEach(b => Console.WriteLine(b.Title));
var averagePrice = books.Average(b => b.Price);
Console.WriteLine($"\nСредна цена на книгите: {averagePrice:F2} лв.");
var bookTitles = books.Select(b => b.Title).ToList();
Console.WriteLine("Списък със заглавията на книгите:");
bookTitles.ForEach(Console.WriteLine);