0

最大のオブジェクト X プロパティを持つ個別のオブジェクト項目のみを持つように、マイ リストを整理する必要があります。例:私はこのオブジェクトのリストを持っています:

 MyList :

object[0] :
name: dani
x:3;

object[1] :
name:dani;
x:1;

object[2]:
name:joey;
x:5;

object[3]:
name:joey;
x:1;

最大の x 値を持つ個別のオブジェクトを見つける必要があるため、次のように 2 つのオブジェクトを含む新しいリストを取得します。

 new List:

object[0] :name:dani;x:3

object[1] :name:joei;x:5

新しいリストを見つけるにはどうすればよいですか? ラムダexはいいだろう...

4

2 に答える 2

1
myObjects.GroupBy(o => o.name).Select(g => g.OrderByDescending(o => o.x).First())

使用しているLinqプロバイダーの詳細を提供していないため、これが最善の一般的なアプローチです。morelinq の MaxBy 拡張メソッドを使用して、Linq2Objects を高速化できます: http://code.google.com/p/morelinq/

myObjects.GroupBy(o => o.name).Select(g => g.MaxBy(o => o.x))
于 2013-10-06T13:22:00.060 に答える
0

次のコードを使用します。

mylist.GroupBy(o => o.name).Select(g => g.OrderByDescending(o => o.x).First())
于 2013-10-06T13:26:11.950 に答える