/ / C # ObservableCollection <T> Wyraźny nie tak, jak oczekiwano - c #, unikalny, odrębny, observablecollection

C # ObservableCollection <T> Wyraźnie niezgodny z oczekiwaniami - c #, wyjątkowy, odrębny, obserwowalny

Z tego, co przeczytałem na stosie i innych zasobach,powinno to dać wyraźny zbiór obiektów (zasadniczo unikalnych), jednak nie jest to, co obserwuję w wyniku. Każda pomoc byłaby doceniana.

ObservableCollection<CompanySummary> companies =
new ObservableCollection<CompanySummary>(DispatchListOriginal.Select(
x => new CompanySummary { CompanyName = x.CompanyName, CompanyId = x.CompanyId })
.Distinct());

(wszystkie powyższe są w jednym wierszu)

Próbowałem również:

ObservableCollection<CompanySummary> companies = new ObservableCollection<CompanySummary>(DispatchListOriginal.Select(x => new CompanySummary { CompanyName = x.CompanyName, CompanyId = x.CompanyId }));
CompanyList = new ObservableCollection<CompanySummary>(companies.Distinct());

Wynik w obu przypadkach to zbiór CompanySummary obiekty są jednak duplikaty.

Odpowiedzi:

3 dla odpowiedzi № 1

Distinct używa Equals metoda.
Upewnić się, że CompanySummary.Equals robi to, co powinien zrobić.