У меня есть следующий список
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 были идентичны тем, которые были у меня для идентификатора 1, но как идентификатор 1 пришел первым, яудалено 5.
Я попробовал следующее, но не работало:
var query = from record in list1
group record by new {record.Counter, record.SrvID }
into g
let winner = (from groupedItem in g
order by groupedItem.ID
select groupedItem ).First()
select winner;
Я получаю следующее сообщение: Метод «Первый» может использоваться только в качестве конечной операции запроса.