Tag: distinct

Distinct()不起作用

我有以下linq表达式: AgentsFilter = new BindableCollection(( from firstEntry in FirstEntries select new NameValueGuid { Name = firstEntry.Agent, Value = firstEntry.AgentId }).Distinct() ); 但由于某种原因,AgentsFilter Collection充满了重复。 我的Distinct()什么问题?

Distinct()如何运作?

让我说我有这个: class Foo { public Guid id; public string description; } var list = new List(); 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” […]

linq distinct或由多个属性分组

如何使用c#和Linq从下一个列表中获取result : var pr = new List() { new Product() {Title=”Boots”,Color=”Red”, Price=1}, new Product() {Title=”Boots”,Color=”Green”, Price=1}, new Product() {Title=”Boots”,Color=”Black”, Price=2}, new Product() {Title=”Sword”,Color=”Gray”, Price=2}, new Product() {Title=”Sword”,Color=”Green”,Price=2} }; Result : {Title=”Boots”,Color=”Red”, Price=1}, {Title=”Boots”,Color=”Black”, Price=2}, {Title=”Sword”,Color=”Gray”, Price=2} 我知道我应该使用GroupBy或Distinct ,但要了解如何获得所需 List result = pr.GroupBy(g => g.Title, g.Price).ToList(); //not working List result = pr.Distinct(…); 请帮忙

从List中删除重复项的最有效方法

假设我有一个包含重复值的List,我想删除重复项。 List myList = new List(Enumerable.Range(0, 10000)); // adding a few duplicates here myList.Add(1); myList.Add(2); myList.Add(3); 我找到了3种方法来解决这个问题: List result1 = new HashSet(myList).ToList(); //3700 ticks List result2 = myList.Distinct().ToList(); //4700 ticks List result3 = myList.GroupBy(x => x).Select(grp => grp.First()).ToList(); //18800 ticks //referring to pinturic’s comment: List result4 = new SortedSet(myList).ToList(); //18000 ticks 在SO的大多数答案中, Distinct方法显示为“正确的”,但HashSet总是更快! 我的问题:当我使用HashSet方法时,有什么我必须要注意的,还有另一种更有效的方法吗?