Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#可观察采集<;T>;不象预期的那样_C#_Unique_Distinct_Observablecollection - Fatal编程技术网

C#可观察采集<;T>;不象预期的那样

C#可观察采集<;T>;不象预期的那样,c#,unique,distinct,observablecollection,C#,Unique,Distinct,Observablecollection,从我在Stack和其他资源上读到的内容来看,这应该会产生一个不同的对象集合(本质上是唯一的),然而,这并不是我观察到的结果。任何帮助都将不胜感激 ObservableCollection<CompanySummary> companies = new ObservableCollection<CompanySummary>(DispatchListOriginal.Select( x => new CompanySummary { CompanyNam

从我在Stack和其他资源上读到的内容来看,这应该会产生一个不同的对象集合(本质上是唯一的),然而,这并不是我观察到的结果。任何帮助都将不胜感激

ObservableCollection<CompanySummary> companies = 
   new ObservableCollection<CompanySummary>(DispatchListOriginal.Select(
   x => new CompanySummary { CompanyName = x.CompanyName, CompanyId = x.CompanyId })
   .Distinct());
observedcollection公司=
新建ObservableCollection(DispatchListOriginal.Select(
x=>newcompanysummary{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());
observedcollection companies=newobservedcollection(DispatchListOriginal.Select(x=>newcompanysummary{CompanyName=x.CompanyName,CompanyId=x.CompanyId}));
CompanyList=新的可观察集合(companys.Distinct());

这两种情况下的结果都是
公司摘要
对象的集合,但也有重复的对象。

Distinct
使用
Equals
方法。

确保
CompanySummary.Equals
做它应该做的事。

Ahh,谢谢你的洞察力,我现在明白了。堆栈允许时将接受:]的可能副本