對象的名單上有一些對象:鮮明基於任意鍵LINQ
class Foo {
public Guid id;
public string description;
}
var list = new List<Foo>();
list.Add(new Foo() { id = Guid.Empty, description = "empty" });
list.Add(new Foo() { id = Guid.Empty, description = "empty" });
list.Add(new Foo() { id = Guid.NewGuid(), description = "notempty" });
list.Add(new Foo() { id = Guid.NewGuid(), description = "notempty2" });
我想以這樣的方式使id
域是唯一處理此列表,並扔掉非獨特的對象(基於id)。
我能想出的最好的是:
list = list.GroupBy(i => i.id).Select(g=>g.First()).ToList();
是否有更好的/更好/更快捷的方式來達到同樣的效果。
可能重複的[LINQ的鮮明上的特定屬性(http://stackoverflow.com/問題/ 489258/linq-distinct-on-a-particular-property) – zzzzBov 2014-11-25 16:03:22
避免使用字典有很多工作要做。 :) – 2009-04-13 01:49:04
list = list.Distinct(foo => foo.id).ToList();與6行字典解決方案相比大量的工作.... – 2009-04-13 01:56:56