我正在創建一個從Foo到Baa的一對一映射的集合。我可以使用LINQ來改進此算法嗎?
Baa包含Foo的獨特實例的集合。
下面是一些代碼,沒有工作:
Dictionary<Foo, Baa> mappings = new Dictionary<Foo, Baa>();
foreach (Baa baa in CollectionOfBaa)
{
foreach (Foo foo in baa.CollectionOfFoo)
{
mappings.Add(foo, baa);
}
}
有沒有更好的方式來做到這一點使用LINQ?
我不反對用一個KeyValuePair列表替換字典。
謝謝。
的LINQ總是比foreach循環慢(由於增加的開銷)。如果你的foreach循環工作,堅持下去。 – 2010-07-05 10:47:41
@Herbie:在大多數情況下,性能不如可讀性重要。不過,我還沒有找到一個更可讀的LINQ版本。 =) – Jens 2010-07-05 10:51:02
可讀性是主觀的,對吧?對我來說,foreach版本是最具可讀性的。 – 2010-07-05 11:00:59