Сортировка листа объектов - 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))

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


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

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

14   голосов , оценка 4 из 5
Похожие ответы