c# - LINQ GroupBy - 按名称选择最低 ID 组

标签 c# linq

我想弄清楚如果名称相同,如何只选择 ID 最低的对象:

public class BasicInfo
{
    public int Id {get;set;}
    public string Name {get; set;}
}

List<BasicInfo> BasicInfos = new List<BasicInfo>();
BasicInfos.Add(new BasicInfo() { Id = 1, Name = "John" });
BasicInfos.Add(new BasicInfo() { Id = 2, Name = "John" });

BasicInfos = BasicInfos.GroupBy(y => y.Name)...(What goes here?)

最佳答案

类似的东西:

BasicInfos = BasicInfos.GroupBy(y => y.Name)
                       .Select(y => new BasicInfo{ Name = y.Key, Id = y.Min(x => x.Id));

这将为您提供所有具有最低键的名称。

关于c# - LINQ GroupBy - 按名称选择最低 ID 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36633844/

相关文章:

c# - 检查 C# 代码使用的文件

c# - 正则表达式帮助 : My regex pattern will match invalid Dictionary

c# - 获取 Linq 表达式的别名

c# - 如何确定 Box2D fixture 或 shape 是否实体?

c# - DllExport 未创建入口点

c# - 如何使用 C# 与 Chrome(Chrome 扩展)通信?

c# - Linq 加入包含语句

c# - Linq Group 按日期和对象列表列出

c# - 如何在 Linq 左连接中使用常量值?

c# - 如何在 C# Windows 窗体应用程序 (CTRl + alt +Del) 上捕获键盘笔画