Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/400: Рейтинг темы: голосов - 400, средняя оценка - 4.84
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610

Сортировка List<T> по разным параметрам

04.05.2009, 20:37. Показов 77797. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте у меня такой вопрос я создал класс с тремя полями данных разного типа
C#
1
2
3
4
5
6
7
 class MyClass: IComparable
    {
        private string _name;
        private string _fullname;
        private DateTime _dateCreation;
        private long _size;
  }
далее я создаю список на основе этого класса
C#
1
private List<MyClass> _listFl;
подскажите как реализовать сортировку данного списка по различным
полям данных , _name, _size,_dateCreation.
Заранее благодарю

Добавлено через 3 часа 40 минут 57 секунд
разобрался с данной проблемой слудующим образом.в этом классе создал статичекий метод для сравнения
C#
1
2
3
4
static public int MyClassCompareDate(MyFile mf1, MyFile mf2)
        {
            return mf1.CreationDate.CompareTo(mf2.CreationDate);
        }
далее
C#
1
_listFl.Sort(MyClass.MyClassCompareDate);
Добавлено через 34 секунды
Может у кого еще есть примеры решения данной проблемы милости просим.
2
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.05.2009, 20:37
Ответы с готовыми решениями:

Сортировка по нескольким параметрам в List<T>
Как сортировка по нескольким параметрам в List&lt;T&gt; La.Sort((a, b) =&gt; a.fam.CompareTo(b.fam)); - это с одним параметром работает хорошо ...

Сортировка ( List<T>.Sort(...) ) сразу по двум параметрам
Как реализовать сортировку по возрастанию сразу по двум параметрам? Points.Sort((one, two) =&gt; one.Y.CompareTo(two.Y)); Такой код...

Запрос с отдельными столбцами по разным параметрам
Добрый день. Просьба подсказать как правильно сделать запрос. исходная таблица устроена примерно так: id_прибора | объект | название...

22
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
03.02.2021, 10:31
Студворк — интернет-сервис помощи студентам
Тема довольно интересная и актуальная по сей день, аналогично как и способы ее решения.
Однако, я для себя открыл LINQ. Реализовал сортировку своего списка с его помощью.
Для сортировки набора данных по возрастанию используется оператор orderby.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
List<Storage> devices= new List<Storage>()//моя коллекция неких элементов
            {
                new FlashDisc("test1",256),
                new FlashDisc("",256),
                new FlashDisc("test2",128),
                new FlashDisc("test3",64),
                new DVD("dvd1",4,DVD.Type.Односторонний),
                new DVD("dvd",32,DVD.Type.Двухсторонний),
                new ExternalHardDisc("hard1",1000),
                new ExternalHardDisc("hard2",500)
            };
 
            //реализация сортировки
            var sortedDevices = from u in devices 
                              orderby u.GetMemoryVolume()
                              select u;
 
 
        }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16150 / 11271 / 2890
Регистрация: 21.04.2018
Сообщений: 33,144
Записей в блоге: 2
03.02.2021, 11:09
Цитата Сообщение от m054 Посмотреть сообщение
Однако, я для себя открыл LINQ
LINQ не сортирует исходную коллекцию.
LINQ может вернуть отсортированное представление коллекции, но это две РАЗНЫЕ задачи.
0
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
03.02.2021, 14:55
Цитата Сообщение от Элд Хасп Посмотреть сообщение
LINQ не сортирует исходную коллекцию.
LINQ может вернуть отсортированное представление коллекции, но это две РАЗНЫЕ задачи.
Да, я согласен. Но, тем не менее, меня такой способ выручил, в итоге решение получилось совсем не элегантное, но рабочее и очень экономичное по времени. Мало ли, вдруг кому-нибудь пригодиться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.02.2021, 14:55
Помогаю со студенческими работами здесь

Сравнить в Excel две таблицы по разным параметрам
Добрый всем день! помогите пожалуйста, есть две таблицы с разным кол-вом столбцов (14 и 8) и строк. необходимо из данные из первой...

Класс: Задача состоит в том, чтобы уметь сортировать по разным параметрам объекты класса автомобиль.
Сталкнулся с такой наверное обычной задачей. но нформации понятной мне в интеренте не нашел. Имею класс(или структуру) автомобиль, у него...

перебрать все элементы List удовлетворяющие параметрам, удаляя взятые
Приветствую! Достаточно нубский вопрос, но никак не решу проблему. if (num_MailsPerMsg.Value &lt; mails.Count) ...

Поиск по определенному или двум и более параметрам в List.Find
Есть структура public struct Note { //из списка группы public string firstName; //имя public...

Сортировка двумерного List<List<string>>, по 1-ой строке, чтобы элементы 2-ой строки передвинулись в соответствии с 1-ой
Дан двумерный массив List&lt;List&lt;string&gt;&gt; , состоящий из двух строк, как его отсортировать по первой строке, чтобы элементы второй строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru