从我在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/

10-13 00:58