Ho un enum (sotto) che voglio essere in grado di utilizzare un metodo di estensione LINQ su.IEnumerable Metodi di estensione su un Enum
enum Suit{
Hearts = 0,
Diamonds = 1,
Clubs = 2,
Spades = 3
}
Enum.GetValues (...) è di tipo ritorno System.Array, ma io non riesco a ottenere l'accesso ad un estensione ToList() o qualsiasi altra cosa del genere.
Sto solo cercando di scrivere qualcosa di simile ...
foreach(Suit s in Enum.GetValues(typeof(Suit)).Select(x=>x).Where(x=> x != param)){}
C'è qualcosa che mi manca, o qualcuno può spiegarmi perché questo non è possibile?
Grazie.
Tendo a vedere 'OfType' più appropriato per quando si sta cercando di filtrare un elenco e' Cast' per il casting. C'è un motivo per usare 'Int32' piuttosto che' Suit'? –
Per qualsiasi 'IEnumerable' che contiene tipi omogenei,' OfType 'e' Cast 'eseguiranno e si comportano in modo praticamente identico. Per quanto riguarda l'uso di 'Int32' piuttosto che di' Suit', non sono proprio sicuro del motivo per cui l'ho fatto - la mia risposta è stata corretta. –
Funziona esattamente come stavo cercando. Grazie! – ahawker