リストの where 句の結果を取得し、その結果セットを取得して、元のクエリの集計から構築されたすべてのフィールドを持つ新しい型を 1 つだけ作成したいと考えています。以下の基本的な例を考えると、2 つの linq ステートメントを 1 つに結合する方法はありますか? 元の場所に行がない場合は、null を返す必要があります。ありがとう!
class Foo
{
public int A { get; set; }
public int B { get; set; }
}
List<Foo> lst = GetFooList();
var q = (from f in lst
where f.A > 3
select f).ToList();
if (q.Count != 0)
{
var qq = new
{
MinA = q.Min(l => l.A),
MaxB = q.Max(h => h.B),
};
// now do something with qq
}
更新: 私の状況では、元のセットには多くのアイテムがありますが、where 句の後の結果セットは非常に小さいです。2 番目のセットを数回列挙しても問題ありません。また、これらのレコードから値を取得するには、セットで first と last を使用する必要があります。答えによるグループが私にとって最もうまくいくでしょう。集計方法は非常に興味深いものであり、別の用途があると思います。