Ich habe eine enum (unten), dass ich in der Lage sein, eine LINQ-Erweiterung-Methode zu verwenden.IEnumerable Extension Methoden auf einer Enum
enum Suit{
Hearts = 0,
Diamonds = 1,
Clubs = 2,
Spades = 3
}
Enum.GetValues (...) ist der Rückgabetyp System.Array, aber ich kann keinen Zugriff auf einen ToList() die Verlängerung oder etwas anderes scheinen von dieser Art zu erhalten.
Ich bin nur so etwas wie zu schreiben ...
foreach(Suit s in Enum.GetValues(typeof(Suit)).Select(x=>x).Where(x=> x != param)){}
Gibt es etwas, was ich bin fehlt, oder kann mir jemand erklären, warum dies nicht möglich ist?
Danke.
Ich sehe 'OfType' eher zum Filtern von Listen und' Cast' zum Casting. Gibt es einen Grund, "Int32" anstelle von "Suit" zu verwenden? –
Für 'IEnumerable', die homogene Typen enthalten, werden' OfType 'und' Cast 'nahezu identisch ausgeführt und verhalten sich. Was die Verwendung von "Int32" anstelle von "Suit" betrifft, bin ich nicht wirklich sicher, warum ich das getan habe - meine Antwort wurde korrigiert. –
Funktioniert genau wie ich gesucht habe. Vielen Dank! – ahawker