MainWindow.xaml.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. using System.Linq;
  3. using System.Windows;
  4. namespace BookSorting
  5. {
  6. public class Books // Клас для списка книг
  7. {
  8. public string name { set; get; }
  9. public DateTime date { set; get; }
  10. public string publishing_house { set; get; }
  11. public string genre { set; get; }
  12. public double rating { set; get; }
  13. }
  14. public partial class MainWindow : Window
  15. {
  16. Books[] books = new Books[5];
  17. public MainWindow()
  18. {
  19. InitializeComponent();
  20. Random rnd = new Random();
  21. for (int i = 0; i < 5; i++) // Заполнение списка книг
  22. {
  23. books[i] = new Books();
  24. books[i].name = "Книга" + (i + 1);
  25. books[i].date = new DateTime(2015, 7, 20, 18, 30, 1 + i);
  26. books[i].publishing_house = "Издательство" + (i + 1);
  27. books[i].genre = "Жанр" + rnd.Next(1, 3);
  28. books[i].rating = rnd.Next(1,10);
  29. }
  30. DG1.ItemsSource = books.ToList(); // Вывод списка
  31. }
  32. public Books[] Sorting(Books[] books) // Сортировка списка по жанру и рейтингу
  33. { return books.OrderByDescending(g => g.genre).ThenByDescending(r => r.rating).ToArray(); }
  34. private void Button_Click(object sender, RoutedEventArgs e)
  35. { DG2.ItemsSource = Sorting(books).ToList(); }
  36. }
  37. }