我有一份清单清单:
List<Tuple<string, List<SomeObject>>
Run Code Online (Sandbox Code Playgroud)
我想选择SomeObjects上面列表的所有行中存在的所有内容.
有些只会存在于一个或两个列表中,但我希望所有对象都存在于每个列表中,而其他对象则被丢弃.
如果没有一堆c#代码,我无法找到一个优雅的解决方案.有一个很好的方式吗?
list.Select (x => x.Item2 as IEnumerable<SomeObject>)
.Aggregate((x,y)=> x.Intersect(y))
.ToList();
Run Code Online (Sandbox Code Playgroud)
或者,正如Jeppe Stig Nielsen所说(我觉得它更优雅):
list.Select(x => x.Item2.AsEnumerable())
.Aggregate(Enumerable.Intersect)
.ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |