Сортировка данных в списке.

LiMe

Client
Регистрация
10.12.2015
Сообщения
592
Благодарностей
313
Баллы
63
Здравствуйте, подскажите пожалуйста, как можно организовать подобное:

Есть список с данными в таком формате:
38918291;15;key
3129111;15;key
123411;14;key
53211231;10;key2
123111;10;key2
1989211;10;key2

Нужно взять большое значение по первому параметру для каждого ключа, т.е. данные на выходе:
38918291;15;key
53211231;10;key2
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
C#:
List<string> list = new List<string>(){
    "38918291;15;key",
    "3129111;15;key",
    "123411;14;key",
    "53211231;10;key2",
    "123111;10;key2",
    "1989211;10;key2"
};
project.Lists["list1"].AddRange(list.OrderByDescending(x=>int.Parse(x.Split(';').First())).GroupBy(x=>x.Split(';').Last()).Select(w=>w.First()));
 
Последнее редактирование:

LiMe

Client
Регистрация
10.12.2015
Сообщения
592
Благодарностей
313
Баллы
63
C#:
List<string> list = new List<string>(){
    "38918291;15;key",
    "3129111;15;key",
    "123411;14;key",
    "53211231;10;key2",
    "123111;10;key2",
    "1989211;10;key2"
};
project.Lists["list1"].AddRange(list.GroupBy(x=>x.Split(';').Last()).Select(x=>x.OrderByDescending(w=>w.Split(';').First()).First()));
Спасибо, но берет первую строку для каждого ключа, без выбора большего первого значения. Данные даны как пример, их может быть больше.
 
Последнее редактирование:
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)