Lin*_*ela -2 c# linq dictionary list
如何将此字典转换为列表
var dict = new Dictionary<string, List<string>>();
dict.Add("1", new List<string>() { "a", "b" });
dict.Add("2", new List<string>() { "a", "c" });
Run Code Online (Sandbox Code Playgroud)
我期待这个输出
List<dynamic> = new List<dynamic>()
{
new { id = "1", value = "a" }
new { id = "1", value = "a" }
new { id = "2", value = "a" }
new { id = "2", value = "a" }
}
Run Code Online (Sandbox Code Playgroud)
我试过这个但是无法获取嵌套集合的值:
dict.Select(c => new { id=c.Key, value= c.Value })
Run Code Online (Sandbox Code Playgroud)
使用SelectMany返回每个多个项目KeyValuePair.然后,对于每个pair使用Select的Value:
var result = dict.SelectMany(pair => pair.Value.Select(item =>
new { id = pair.Key, value = item }));
Run Code Online (Sandbox Code Playgroud)
结果: