c# - 如何使用 LINQ 组合 IEnumerable(Of IEnumerable)?

标签 c# .net vb.net linq

我有一个 List(Of HashSet(Of String))。是否有一种清晰的单行 LINQ 方法来获取包含列表条目值中所有字符串的单个 HashSet(Of String)

例如,从 3 个哈希集 {"A"}、{"A"、"B"、"C"} 和 {"B"、"C"、"D"} 中,我想要一个哈希集 {"A","B","C","D"}。

我很确定我可以用 .Aggregate().Accumulate() 做一些事情。

C# 或 VB.NET 的解释同样有用。

最佳答案

你可以只使用SelectMany .在 C# 中:

var newHashSet = new HashSet<string>(myListOfHashSets.SelectMany(x => x));

在 VB.NET 中:

Dim newHashSet As New HashSet(Of String)(myListOfHashSets.SelectMany(Function (x) x))

关于c# - 如何使用 LINQ 组合 IEnumerable(Of IEnumerable)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21687819/

相关文章:

c# - Generic Cast,将 int 转换为 double 是不可能的

vb.net - 如何在数据透视表上设置列名称

mysql - 使用Left Join时如何不在查询结果中包含ID

.net - 如何将网页下载到 .NET 中的流中

c# - 消除字符串中 "insignificant"重复字符的最简单方法

c# - 在 .Where() 中使用 .SingleOrDefault() 将引发以下异常 :- System. NotSupportedException 未被用户代码处理

c# - 与 iOS 调用 [[NSLocale currentLocale] localeIdentifier] 等效的 Windows Phone 7 C# 是什么?

c# - 如何防止 WinForms 失去焦点?

.net - LogWriter.ShouldLog(LogEntry) 方法行为基于什么?

c# - 如何将字符串数组拆分为新的字符串数组并删除重复项