首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何降维?

如何降维?
EN

Stack Overflow用户
提问于 2016-08-25 16:55:08
回答 1查看 53关注 0票数 1

让我们假设我有一个IEnumerable(Of IEnumerable(Of Integer))。所有内部IEnumerable都包含IDs。我想将所有的IDs Distinctly集合到一个IEnumerable(Of Integer)中。如果我这样做,我可以这样做:

代码语言:javascript
复制
Dim result as New List(Of Integer)
For Each element In IDs
    result.AddRange(element)
Next
result = result.Distinct

这种方法有两个问题:-当可能有一个我不知道的用于此目的的Function时,我必须编写迭代代码-结果是一个List,我希望保留内部IEnumerable的类

有没有一个方便的LINQ方法可以做到这一点?

编辑:

这个问题与this one不同,因为我说的是IEnumerables,而不是Lists。是的,我知道每个List都是IEnumerable,但我也知道不是每个IEnumerable都是List。因此,这是一个比标记为重复的问题更一般的问题,正如我在原始问题中指定的那样,我希望在结果中保留内部IEnumerableClass。如果是数组,我更喜欢使用数组。

EN

回答 1

Stack Overflow用户

发布于 2016-08-25 17:06:52

你可以使用SelectMany扩展方法来展平结构,一旦展平了Distinct

代码语言:javascript
复制
result = IDs.SelectMany(Function(x) x).Distinct();

检查此Demo

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39140792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档