Сортировка листа объектов - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть исходный список объектов по три поля в каждом, мне нужно отсортировать его последовательно по двум полям. Как это сделать, создав новый список, я разобрался. А могу ли я исходный список отсортировать не создавая новый?
Листинг программы
  1. class Abc
  2. {
  3. public string a;
  4. public string b;
  5. public string c;
  6. public Abc(string _a, string _b, string _c)
  7. {
  8. this.a = _a;
  9. this.b = _b;
  10. this.c = _c;
  11. }
  12. }
  13. class СортировкаЛиста
  14. {
  15. List<Abc> start = new List<Abc>(); //исходный список
  16. List<Abc> finish = new List<Abc>(); //итоговый список
  17. public void CreateStart() //создаю исходный список
  18. {
  19. start.Add(new Abc("Палуба","Петров","96"));
  20. start.Add(new Abc("Трюм","Иванов","95"));
  21. start.Add(new Abc("Каюта","Сидоров","77"));
  22. start.Add(new Abc("Палуба","Иванов","86"));
  23. start.Add(new Abc("Каюта","Петров","98"));
  24. start.Add(new Abc("Каюта","Иванов","99"));
  25. start.Add(new Abc("Трюм","Петров","94"));
  26. start.Add(new Abc("Трюм","Сидоров","70"));
  27. start.Add(new Abc("Палуба","Сидоров","83"));
  28. start.Add(new Abc("Каюта","Белов","91"));
  29. start.Add(new Abc("Палуба","Белов","56"));
  30. start.Add(new Abc("Трюм","Белов","88"));
  31. }
  32. public void CreatFinish() //сортирую исходный и формирую итоговый
  33. {
  34. foreach (Abc p in start.OrderBy(a => a.a).ThenBy(c => c.c))
  35. {
  36. finish.Add(new Abc(p.a, p.b, p.c));
  37. }
  38. foreach (Abc p in finish)
  39. {
  40. Console.WriteLine("Место {0} Сотрудник {1} Итог {2}", p.a, p.b, p.c);
  41. }
  42. }
  43. }

Решение задачи: «Сортировка листа объектов»

textual
Листинг программы
  1. start = start.OrderBy(a => a.a).ThenBy(c => c.c))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы