【发布时间】:2010-10-08 22:25:24
【问题描述】:
我正在将多个列表聚合到一个列表中,并希望根据 Foo (Foo.Prop1) 的一个属性使其与众不同。我无权修改 Foo 的平等比较器。
Dictionary<string, List<Foo>> fooDictionary = new Dictionary<string, List<Foo>>();
List<Foo> foovals = (from e in fooDictionary
where e.Key == "foo1" || e.Key == "foo2" || e.Key == "foo3"
select e.Value).SelectMany(f => f).ToList();
这里唯一缺少的是最后的 .Distinct(),以使 Foo 独一无二,但是,就我而言,我无法修改有关 Foo 的任何内容,因此仅调用 Distinct() 将不起作用。
有没有办法修改这个查询以返回基于 Foo.Prop1 的不同项目?
【问题讨论】:
标签: c# linq linq-to-entities