C#中的ObservableCollection<T> Distinct方法不如预期

4

从我在Stack和其他资源上所阅读的内容来看,这应该产生一个不同的对象集合(基本上是独特的),然而,我观察到的结果并非如此。任何帮助都将不胜感激。

ObservableCollection<CompanySummary> companies = 
   new ObservableCollection<CompanySummary>(DispatchListOriginal.Select(
   x => new CompanySummary { CompanyName = x.CompanyName, CompanyId = x.CompanyId })
   .Distinct());

(以上所有内容在一行上)

我也尝试过这个:

ObservableCollection<CompanySummary> companies = new ObservableCollection<CompanySummary>(DispatchListOriginal.Select(x => new CompanySummary { CompanyName = x.CompanyName, CompanyId = x.CompanyId }));
CompanyList = new ObservableCollection<CompanySummary>(companies.Distinct());

在这两种情况下,结果都是一组CompanySummary对象,然而,存在重复。

可能是Distinct() with lambda?的重复问题。 - raven
1个回答

3

Distinct使用Equals方法。
确保CompanySummary.Equals实现正确。


啊,谢谢你的见解,我现在明白了。等堆栈允许时,我会接受的 :] - indubitablee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接