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ł?

questionAnswers(3)

yourAnswerToTheQuestion