Сортировка листа объектов - C#
Формулировка задачи:
У меня есть исходный список объектов по три поля в каждом, мне нужно отсортировать его последовательно по двум полям. Как это сделать, создав новый список, я разобрался. А могу ли я исходный список отсортировать не создавая новый?
Листинг программы
- class Abc
- {
- public string a;
- public string b;
- public string c;
- public Abc(string _a, string _b, string _c)
- {
- this.a = _a;
- this.b = _b;
- this.c = _c;
- }
- }
- class СортировкаЛиста
- {
- List<Abc> start = new List<Abc>(); //исходный список
- List<Abc> finish = new List<Abc>(); //итоговый список
- public void CreateStart() //создаю исходный список
- {
- start.Add(new Abc("Палуба","Петров","96"));
- start.Add(new Abc("Трюм","Иванов","95"));
- start.Add(new Abc("Каюта","Сидоров","77"));
- start.Add(new Abc("Палуба","Иванов","86"));
- start.Add(new Abc("Каюта","Петров","98"));
- start.Add(new Abc("Каюта","Иванов","99"));
- start.Add(new Abc("Трюм","Петров","94"));
- start.Add(new Abc("Трюм","Сидоров","70"));
- start.Add(new Abc("Палуба","Сидоров","83"));
- start.Add(new Abc("Каюта","Белов","91"));
- start.Add(new Abc("Палуба","Белов","56"));
- start.Add(new Abc("Трюм","Белов","88"));
- }
- public void CreatFinish() //сортирую исходный и формирую итоговый
- {
- foreach (Abc p in start.OrderBy(a => a.a).ThenBy(c => c.c))
- {
- finish.Add(new Abc(p.a, p.b, p.c));
- }
- foreach (Abc p in finish)
- {
- Console.WriteLine("Место {0} Сотрудник {1} Итог {2}", p.a, p.b, p.c);
- }
- }
- }
Решение задачи: «Сортировка листа объектов»
textual
Листинг программы
- start = start.OrderBy(a => a.a).ThenBy(c => c.c))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д