請,幫助減少下面的代碼: 沒有與字典屬性的類:Linq表達式。幫助mimize代碼
class Foo
{
public int Field { get; set; }
public Dictionary<int, bool> dic { get; set; }
}
和Foo實例的列表。我想美國從字典一樣,所有的類實例:
...
var items = new List<Foo>
{
new Foo {Field = 1, Dic = new Dictionary<int, bool> {{1, true}, {2, false}}},
new Foo {Field = 2, Dic = new Dictionary<int, bool> {{3, true}, {2, false}}}
};
var result = new Dictionary<int, bool>();
foreach (var dics in items.Select(x => x.Dic))
foreach (var pair in dics)
if (!result.ContainsKey(pair.Key))
result.Add(pair.Key, pair.Value);
// testing output
foreach (var pair in result)
Console.WriteLine("{0}, {1}", pair.Key, pair.Value);
是否有可能與純LINQ的方法來做到這一點? 提前謝謝!
謝謝你:是的SelectMany有力的方法我也不知道:) – 2010-06-30 12:17:53
我其實是有這個打完了,和我回來的時候它被張貼>! – Nix 2010-06-30 12:19:27
是的,它非常強大。每個LINQ函數實際上可以由SelectMany實現:) – 2010-06-30 12:20:43