.Max() メソッドを使用して、C# コレクション内で最大の属性値を持つオブジェクトを検索します
複数のプロパティを含むオブジェクトのコレクションがあり、特定のプロパティ値が最大のオブジェクトを見つける必要があるとします。たとえば、2 つの整数プロパティ DimensionPair
と Height
を持つタイプ Width
のオブジェクトのリストを考えてみましょう。目標は、最も高い Height
属性値を持つオブジェクトを見つけて返すことです。
Linq の .Max()
メソッドを使用すると、最大の Height
値を決定するのは簡単ですが、対応するオブジェクトを取得するのは困難な場合があります。この問題を解決するには、MoreLINQ の MaxBy
拡張メソッドを利用できます。このメソッドは、最大要素と最大投影値を維持しながらデータを反復処理します。
特定のシナリオでは、次のコード スニペットにより望ましい結果が得られます。
<code class="language-csharp">var item = items.MaxBy(x => x.Height);</code>
MaxBy
アプローチには、他のソリューションに比べていくつかの利点があります。
以上がC# を使用してコレクション内の最大プロパティ値を持つオブジェクトを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。