我有一个节点列表List<Node>
,Node
有一个属性EnquivalenceNo
。我试图做的是检索具有相同等价数的节点,但我还没有实现。
所以我的问题是,是否有一种方法可以使用linq获取具有相同等价数的节点,并将该查询的结果放入另一个列表中?
例如:
列表
Node 1 { EquivalenceNo 1 }
Node 2 { EquivalenceNo 2 }
Node 3 { EquivalenceNo 2 }
Node 4 { EquivalenceNo 8 }
结果应该是这样的:
新列表
Node 2 { EquivalenceNo 2 }
Node 3 { EquivalenceNo 2 }
答案 0 :(得分:0)
您可以先GroupBy()
,而不是只获取超过1个结果的值,然后展开SelectMany
:
list.GroupBy(x => x.EquivalenceNo)
.Where(x => x.Count() > 1)
.SelectMany(x => x)
.ToList();