Dictionary<something, List<>> 展平(取消组合)到 List 中的事物和元素列表 - C#

彼得

我想展平(取消分组)我的字典 - 并尝试是否可以由 Linq 完成。

样本输入:

Dictionary<int, List<string>> dict = new Dictionary<int, System.Collections.Generic.List<string>>();
dict.Add(0, new List<string>() { "a", "b" });
dict.Add(1, new List<string>() { "c", "d"});

我想要实现的是以下元素列表:

0a

0b

1c

1天

当然可以通过以下方式完成:

List<string> output = new List<string>();
foreach (var element in dict)
{
    foreach (var valuesElement in element.Value)
    {
        output.Add(element.Key + valuesElement);
    }
}

我只是在寻找是否有任何“聪明”的 linq 结构来实现它。

吞噬

你正在寻找 .SelectMany()

dict.SelectMany(x => x.Value.Select(y => $"{x.Key}{y}"));

这里有更多关于它是如何工作的解释。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#使用list属性展平对象列表

C#:将Dictionary <string,List <string >>绑定到DataTable

如何在linq中展平Dictionary <string,List <string >>并将键保留在结果中

“展平” List<Tuple<<T>,<T>>> 到 List<T>

List <Something>和List <有什么区别?延伸东西>?

如何在 C# 中忽略 Dictionary<K, List<T>> 中的 List<T> 项

如何在查询C#中使用Linq和Dictionary从List <>获取元素?

如何在C#中从Dictionary <List,List <string >>创建.csv文件

如何使用 list() 在 C 中创建列表?(尝试在列表中保存和提取元素)

使用Dictionary <T,Func <List,bool >>在C#中查找列表中最常见的事件

在字典的列表中添加一个变量(Dictionary<Key , List<var>) unity C#

从C#中的List获取HashSet和Dictionary,按嵌套属性分组

展平List <Tuple <string,List <Object >>>

Lookup()和Dictionary(Of list())之间的区别

如何展平RDD <List>?

将Dictionary <string,List>的列表转换为列表C#Linq

在 Dictionary<int,List<int>> 中查找值

展平函数中使用的模式匹配中的List [_]的说明

C#-Lambda / LINQ-从Dictionary <string,string> []到List <string []>的转换

c# - 如何检查字符串s是否在Dictionary<int,List<string>>中的List<string>内?

高效地将列表转换为List <Dictionary>,而无需在C#中进行foreach

python dictionary(dictionary(dictionary(list)))比较

从 Dictionary<int,List<Tuple<string,object>>> 到 Dictionary<int,List<Tuple<string,object,AnEnum>>> 使用 LINQ

在 C# 中对 Dictionary<string, List<object>> 使用 Lambda 表达式

C#将List <string>转换为Dictionary <string,string>

转换 (Dictionary<string, List<string>>) value).Values) 这是 IValueConverter 到数组的集合以显示在列表框中

在 C# 中遍历 list<list<object>>

WPF:将Dictionary <string,List <DataClass >>绑定到嵌套控件

WPF MVVM将Dictionary <String,List <String >>绑定到datagrid