从我在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# - C#ObservableCollection <T>与预期的不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37076102/