Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按Distinct和对象属性Larget值排序列表_C#_Linq_Lambda - Fatal编程技术网

C# 按Distinct和对象属性Larget值排序列表

C# 按Distinct和对象属性Larget值排序列表,c#,linq,lambda,C#,Linq,Lambda,我需要安排我的列表,这样我将只有具有最大Object 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值的不同对象,这样我就可以得到包含两个对象的新列表,如下所示: new List: object[0] :name:dani;

我需要安排我的列表,这样我将只有具有最大Object 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值的不同对象,这样我就可以得到包含两个对象的新列表,如下所示:

 new List:

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

object[1] :name:joei;x:5
我怎样才能找到新的名单?Lambda ex会很好

myObjects.GroupBy(o => o.name).Select(g => g.OrderByDescending(o => o.x).First())
鉴于您没有提供您使用的Linq提供程序的详细信息,这是最好的通用方法。您可以使用morelinq中的MaxBy扩展方法在Linq2对象中加快速度:

使用此代码:

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