我在一邊有一個對象Dictionary<int, Dictionary<int, Foo> >
,而另一邊有一個對象IEnumerable<IEnumerable<Foo> >
。在Linq中將Dictionary <int,Dictionary <int, Foo>>轉換爲IEnumerable <IEnumerable <Foo>>的最簡單方法是什麼?
什麼是從一個轉換到另一個Linq中的simpliest方式,我不認爲美好的事,我都嘗試與foreach循環結束......
我在一邊有一個對象Dictionary<int, Dictionary<int, Foo> >
,而另一邊有一個對象IEnumerable<IEnumerable<Foo> >
。在Linq中將Dictionary <int,Dictionary <int, Foo>>轉換爲IEnumerable <IEnumerable <Foo>>的最簡單方法是什麼?
什麼是從一個轉換到另一個Linq中的simpliest方式,我不認爲美好的事,我都嘗試與foreach循環結束......
這應做到:
return dictionary.Values.Select(nested => nested.Values);
用途:
var result = dict.Select(d => d.Value.Select(i => i.Value));
結果從
var list = dict.Values.Select(kv => kv.Values);
可分配給IEnumerable<IEnumerable<Foo> >
類型的參數。
事情是這樣的:
var result= (
from d in dic
select
(
from values in d.Value
select values.Value
)
);
它不會編譯... – 2012-03-26 12:09:27
@KirillPolishchuk請確保您已經'使用System.Linq的;'在文件 – GolfWolf 2012-03-26 12:10:52
@KirillPolishchuk的頂部:謝謝,固定 - 它現在更簡單:) – 2012-03-26 12:12:56