首頁 > 後端開發 > C++ > 如何使用LINQ找到具有最小或最大屬性值的人?

如何使用LINQ找到具有最小或最大屬性值的人?

Linda Hamilton
發布: 2025-02-01 03:56:08
原創
138 人瀏覽過

How to Find the Person with the Minimum or Maximum Property Value Using LINQ?

使用LINQ選擇具有最小或最大屬性值的Object

要查找DateOfBirth屬性值最小的Person對象,您可以利用LINQ的聚合功能。請考慮以下方法:

<code class="language-csharp">var firstBorn = People.Aggregate((curMin, x) => (curMin == null || (x.DateOfBirth ?? DateTime.MaxValue) < (curMin.DateOfBirth ?? DateTime.MaxValue)) ? x : curMin);</code>
登入後複製

以下是其工作原理:

  • Aggregate方法用於遍歷集合併累積單個結果。

  • 傳遞給Aggregate的匿名函數採用兩個參數:

    • curMin:到目前為止遇到的當前最小DateOfBirth值(如果尚未找到任何值,則為null)。
    • x:正在處理的當前Person對象。
  • 條件(x.DateOfBirth ?? DateTime.MaxValue)檢查x是否具有有效的DateOfBirth值;如果為null,則將其設置為DateTime.MaxValue(假設沒有有效的DateOfBirth值超過此值)。

  • 比較(curMin == null || (x.DateOfBirth ?? DateTime.MaxValue) < (curMin.DateOfBirth ?? DateTime.MaxValue))確定哪個對象具有更早的出生日期。

  • 累積過程持續進行,直到評估集合中的所有Person對象,最終產生DateOfBirth值最早的Person對象。

This revised explanation clarifies the comparison logic within the Aggregate method, making the process easier to understand.

以上是如何使用LINQ找到具有最小或最大屬性值的人?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板