【发布时间】:2021-10-27 05:20:36
【问题描述】:
我只想从任何组多次包含相同 ID 的非空白名称中进行选择:
数据设置
var a1 = new { id = 3, Name = "", Group = "GroupA" };
var a2 = new { id = 2, Name = "", Group = "GroupA" };
var a3 = new { id = 3, Name = "", Group = "GroupA" };
var b1 = new { id = 4, Name = "B", Group = "GroupB" };
var b2 = new { id = 5, Name = "B", Group = "GroupB" };
var b3 = new { id = 5, Name = "B", Group = "GroupB" };
List<dynamic> group = new List<dynamic>();
group.Add(a1);
group.Add(a2);
group.Add(a3);
group.Add(b1);
group.Add(b2);
group.Add(b3);
查询:
var query1 = group.ToList()
.Where(s=>s.Name != "")
.GroupBy(x =>x.Group)
.Where(g => g.Count() > 1)
.SelectMany(y => y)
.ToList();
Console.WriteLine("output\n" + string.Join("\n", query1));
返回
id = 4, Name = B, Group = GroupB
id = 5, Name = B, Group = GroupB
id = 5, Name = B, Group = GroupB
但我想要的是以下内容:
id = 5, Name = B, Group = GroupB
id = 5, Name = B, Group = GroupB
我做错了什么?
【问题讨论】:
-
具有相同
id但不同Group的项目会发生什么情况?例如。new {id=1,Group="A"}和new {id=1,Group="B"}.