У меня есть список данных, например, так:Сведение Linq Group запрос
ID AddressPurpose Address ...
1 L
1 P
2 L
2 P
3 P
3 L
4 P
4 L
5 P
6 L
Я хочу, чтобы иметь возможность фильтровать данные таким образом, что для каждого уникального номера, если существует P строка, то она возвращается иначе Возвращается строка L. Таким образом, данные будут выглядеть следующим образом:
ID AddressPurpose Address ...
1 P
2 P
3 P
4 P
5 P
6 L
На данный момент у меня есть этот запрос, который работает отлично:
var query = from c in list
orderby c.AddressPurpose descending
group c by c.ID
into g
select g;
var finalList = new List<Company>();
foreach (var list in query)
{
finalList.Add(list.First());
}
return finalList;
Есть ли лучший способ сделать это без использования дополнительного Еогеасп?
Вы, должно быть, набрали это, когда я редактировал свою собственную реакцию, lc! +1! –
Я так думаю. Мне также нравятся ваши вложенные запросы, они могут быть повторно использованы в любое время, когда вам нужно перебирать сложные запросы. –
Спасибо. Это отлично работает. Теперь я понимаю часть «в g». –