私はそのようなデータのリストを持っています:
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;
余分なforeachを使用せずにこれを行うためのより良い方法はありますか?