[英]Simple and Best way to convert Dictionary<key, List<obj>> to List<obj> in C#
假設我們有這樣的字典
Dictionary<key, List<obj>>
我希望將所有值都列為這樣的列表
List<obj>
例如,字典中有3個鍵,key1,key2,key3。
2 values for key1
3 values for key2
5 values for key3
結果應該是一個有10個值的列表!
我認為可以使用foreach和ToList()來完成。 我希望更簡單,更有效的解決方案。
您可以使用Values
屬性從字典中獲取所有值。 和SelectMany
linq擴展將列表序列展平為對象序列:
dictionary.Values.SelectMany(v => v).ToList()
使用LINQ SelectMany方法:
var list = dictionary.SelectMany(item => item.Value).ToList();
來自文檔:
將序列的每個元素投影到IEnumerable,並將生成的序列展平為一個序列。
您所要做的就是指定選擇器 - 您要為每個KeyValuePair選擇的IEnumerable,這顯然是值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.