HashSet lub Distinct, aby odczytać różne wartości właściwości z listy <> obiektów
Jest to w jakiś sposób związane z tym (Zdobycie wszystkich unikalnych przedmiotów na liście C #) pytanie.
Powyższe pytanie mówi o prostej tablicy wartości. Mam obiekt zwrócony z usługi innej firmy:
public class X
{
public Enum y {get; set;}
}
Mam listę tych obiektówList<x> data;
, około 100 rekordów w sumie, ale zmiennych. Teraz chcę wszystkie możliwe wartości na liście właściwościy
i chcę to powiązaćCheckBoxList.DataSource
(w przypadku, gdy ma to znaczenie).
Określa najbardziej skuteczny sposób, aby to zrobić?
Mogę wymyślić dwa algorytmy:
var data = HashSet<Enum> hashSet = new HashSet<Enum>(xs.Select(s => s.y));
chkBoxList.DataSource = data;
Lub
var data = xs.Select(s => s.y).Distinct();
chkBoxList.DataSource = data;
Moje przeczucie to HashSet, ale nie jestem w 100% pewien.
Otwarty na lepsze pomysły, jeśli ktoś ma jakiś pomysł?