转换Dictionary <int,dictionary <int,=“”foo =“”>&gt;的最简单方法到IEnumerable <ienumerable <foo>&gt;在Linq?</ienumerable <foo> </int,>

时间:2012-03-26 12:03:17

标签: c# .net linq dictionary ienumerable

我的一方有一个对象Dictionary<int, Dictionary<int, Foo> >,而另一方有一个IEnumerable<IEnumerable<Foo> >的函数。

在Linq中从一个转换到另一个的最简单的方法是什么,我想不出好的东西,我的所有尝试都以foreach循环结束......

4 个答案:

答案 0 :(得分:4)

这应该这样做:

return dictionary.Values.Select(nested => nested.Values);

答案 1 :(得分:2)

的结果
   var list = dict.Values.Select(kv => kv.Values);

可分配给IEnumerable<IEnumerable<Foo> >类型的参数。

答案 2 :(得分:1)

使用:

var result = dict.Select(d => d.Value.Select(i => i.Value));

答案 3 :(得分:1)

这样的事情:

var result= (
        from d in dic
        select
            (
                from values in d.Value
                select values.Value
            )
    );