假设我们有一本这样的字典
Dictionary<key, List<obj>>
我想得到如下列表中的所有值
List<obj>
字典中有三个键,key1,key2,key3。
2 values for key1
3 values for key2
5 values for key3
结果应该是一个有10个值的列表!
我认为这可以用foreach和ToList()来完成。我希望更简单、更有效的解决方案。
发布于 2017-05-11 13:13:29
可以使用Values
属性从字典中获取所有值。并将SelectMany
linq扩展为将列表序列扁平为对象序列:
dictionary.Values.SelectMany(v => v).ToList()
发布于 2017-05-11 13:15:10
使用LINQ SelectMany方法:
var list = dictionary.SelectMany(item => item.Value).ToList();
从医生那里:
将序列的每个元素投影到IEnumerable中,并将结果序列压缩为一个序列。
您所要做的就是指定选择器--您希望为每个IEnumerable选择的KeyValuePair,这显然是值。
https://stackoverflow.com/questions/43925610
复制相似问题