根据我在 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
使用 Equals
方法。
确保 CompanySummary.Equals
执行它应该执行的操作。
关于C# ObservableCollection<T> 与预期不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37076102/