linqは、データを照会するための強力で効率的な方法を提供します。特定の条件に基づいてオブジェクトを選択する場合、特定のプロパティの最小または最大値を持つオブジェクトを見つけるなど、特に便利です。
burthプロパティの無効な日付を持つ人物のリストがあるとします。生年月日を決定する必要がある場合があります。
1つの方法は、MINメソッドを使用して、dateofbirth属性の最小値を見つけることです。ただし、これは最低日付値のみを返し、実際の人オブジェクトではありません。
対応するオブジェクトを取得するには、集約方法を使用できます:
var firstBorn = People.Aggregate((curMin, x) => (curMin == null || (x.DateOfBirth ?? DateTime.MaxValue)
この例では、初期アキュムレータ値はnullに設定されています。集約メソッドに渡された関数は、現在のアキュムレータ値がnullであるかどうか、または現在の要素のdateofbirthプロパティ(null値をdatetime.maxvalueに置き換える)であるかどうかをチェックします。 trueの場合、関数は現在の要素を新しいアキュムレータとして返します。
集合体の結果は、生年月日を持つ最も初期の人物です。この簡単な方法では、対応するオブジェクトを取得するための2番目のクエリは必要ありません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3