ホームページ > バックエンド開発 > C++ > C# を使用してコレクション内の最大プロパティ値を持つオブジェクトを検索する方法

C# を使用してコレクション内の最大プロパティ値を持つオブジェクトを検索する方法

Linda Hamilton
リリース: 2025-01-25 20:26:11
オリジナル
810 人が閲覧しました

How to Find the Object with the Maximum Property Value in a Collection Using C#?

.Max() メソッドを使用して、C# コレクション内で最大の属性値を持つオブジェクトを検索します

複数のプロパティを含むオブジェクトのコレクションがあり、特定のプロパティ値が最大のオブジェクトを見つける必要があるとします。たとえば、2 つの整数プロパティ DimensionPairHeight を持つタイプ Width のオブジェクトのリストを考えてみましょう。目標は、最も高い Height 属性値を持つオブジェクトを見つけて返すことです。

Linq の .Max() メソッドを使用すると、最大の Height 値を決定するのは簡単ですが、対応するオブジェクトを取得するのは困難な場合があります。この問題を解決するには、MoreLINQ の MaxBy 拡張メソッドを利用できます。このメソッドは、最大要素と最大投影値を維持しながらデータを反復処理します。

特定のシナリオでは、次のコード スニペットにより望ましい結果が得られます。

<code class="language-csharp">var item = items.MaxBy(x => x.Height);</code>
ログイン後にコピー

MaxBy アプローチには、他のソリューションに比べていくつかの利点があります。

  • 効率: O(n^2) または O(n log n) である他の方法とは異なり、その時間計算量は O(n) です。
  • シングルパス: このメソッドは要素ごとに投影を 1 回だけ評価するため、処理コストが削減されます。
  • シンプルさ: コードは簡潔で理解しやすく、保守とデバッグが簡単です。

以上がC# を使用してコレクション内の最大プロパティ値を持つオブジェクトを検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート