У меня есть следующий список
ID Counter SrvID FirstName
-- ------ ----- ---------
1 34 66M James
5 34 66M Keith
3 55 45Q Jason
2 45 75W Mike
4 33 77U Will
Мне нравится делать заказ по ID по возрастанию, а затем получить первое значение Counter, SrvID, которые идентичны (если они есть).
Таким образом, результат будет примерно таким:
ID Counter SrvID FirstName
-- ------ ----- ---------
1 34 66M James
2 45 75W Mike
3 55 45Q Jason
4 33 77U Will
Обратите внимание, что идентификатор из 5 удаляется из списка, поскольку счетчик и SrvID были идентичны тому, что у меня было для ID 1, но когда первый номер был первым Я удалил 5.
Это то, что я сделал бы, но не работал
var result = (from ls in list1
group ts by new {ls.Counter, ls.SrvID}
order by ls.ID
select new{
ls.ID,
ls.Counter.FirstOrDefault(),
ls.SrvID.First,
ls.FirstName}).ToList()