C# ObservableCollection<T> 与预期不同
C# ObservableCollection<T> Distinct not as expected
根据我在 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
做它应该做的事。
根据我在 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
做它应该做的事。