gpt4 book ai didi

c# - 如何在 Linq 提取方法中使用 order by 和 group by?

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:14 24 4
gpt4 key购买 nike

我有一个 person 列表,其中包含 person 具有 weightage 属性。

Person.cs:

public class Person
{
public int Weight { get; set; }
public int Age { get; set; }
}

程序.cs:

List<Person> personList = new List<Person>();

personList.Add(new Person { Age = 15, Weight = 68 });
personList.Add(new Person { Age = 19, Weight = 75 });
personList.Add(new Person { Age = 17, Weight = 68 });
personList.Add(new Person { Age = 15, Weight = 55 });
personList.Add(new Person { Age = 15, Weight = 53 });
personList.Add(new Person { Age = 17, Weight = 88 });
personList.Add(new Person { Age = 19, Weight = 45 });
personList.Add(new Person { Age = 20, Weight = 88 });

//Grouped person list
List<People> GroupedPersonList = new List<People>();

GroupedPersonList = personList.OrderBy(x => x.Weight).????

应列出的元素:按age分组,每组应选择权重最高的。(我想按age排序此列表,但列表只包含那个年龄段最重的人。然后我将通过它创建一个新列表。)新的新列表应如下所示:

(GroupedPersonList 内容)=>

Age    | Weight 
-------|-------
15 | 68
17 | 88
19 | 75
20 | 88

如何在 LINQ 提取方法中执行此操作?

最佳答案

您可以像这样使用 GroupBy:

var GroupedPersonList = personList.GroupBy(x => x.Age , (key,element) => new
{
Age = key,
Weight = element.Max(c=>c.Weight)
});

关于c# - 如何在 Linq 提取方法中使用 order by 和 group by?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41319679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com