C# ObservableCollection<T> 与预期不同

标签 c# unique distinct observablecollection

根据我在 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/

相关文章:

c# - Silverlight:如何从内存中卸载(处置)图像?

Excel:仅计算来自 Countif 的唯一单元格

MYSQL - 查找不同的记录并按另一个字段长度排序

mysql - 为什么不同的执行sql时间?

c# - 使用 LINQ 返回不同的 IQueryable?

c# - 如何对表示数字的字符串数组(正负以及小数部分)进行排序?

c# - Azure 上的 Microsoft.Glee.GraphViewerGdi.GViewer 引发异常

c# - Discord:如何捕捉从用户到机器人的直接消息?

sql - 具有空组件的复合ID的唯一性

mysql提取具有最大值的行