I have a list of data like so:
ID AddressPurpose Address ...
1 L
1 P
2 L
2 P
3 P
3 L
4 P
4 L
5 P
6 L
I want to be able to filter the data so that for each unique number if there is a P row then it is returned else the L row is returned. So the data will look like this:
ID AddressPurpose Address ...
1 P
2 P
3 P
4 P
5 P
6 L
At the moment I have this query which works fine:
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;
Is there a better way to do this without using the extra foreach?