c# - 如何使用 LINQ 查找第一次出现

标签 c# .net linq

使用 .NET LINQ,我想找到以 PID 等于 0 或 1 开头的条目 (Name)。但如果 Name 两者都有,我只想要 0。在以下内容中:

PID Name
 0  P1
 1  P1
 1  P3
 0  P4
 0  P5
 1  P5

我会返回行:

 0 P1
 1 P3
 0 P4
 0 P5

PID 值最多可以达到 10。有什么建议可以做到这一点吗?

最佳答案

您可以使用:

var results = collection
               .Where(item => item.PID == 0 || item.PID == 1)
               .GroupBy(item => item.Name)
               .Select(g => g.OrderBy(item => item.PID).First());

关于c# - 如何使用 LINQ 查找第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393612/

相关文章:

c# - 子范围中每个请求范围的 Asp.net Core 服务

c# - 如何增加原始音频字节的音量/振幅

c# - 如何使用 GroupBy() 对多个项目进行分组?

c# - LINQ:序列不包含任何元素错误

c# - 是否可以从代码隐藏中设置一个新的 asp 超链接

c# - 部署使用 Entity Framework Core 的 WPF 应用程序

.net - 是什么决定了 WCF WSDL 中 XML 属性的顺序?

c# - 组合属性选择器表达式树和值以创建用于 EF 过滤的谓词 - 从 lambda 选择器和值创建过滤器

c# - 如何忽略 asmx 的 JSON 响应中的空值

c# - 使用 Razor 在 MVC 中发布复杂对象列表