Tengo una enumeración (a continuación) en la que quiero poder utilizar un método de extensión LINQ.Métodos de extensión IEnumerable en un Enum
enum Suit{
Hearts = 0,
Diamonds = 1,
Clubs = 2,
Spades = 3
}
Enum.GetValues (...) es del tipo de retorno System.array, pero me parece que no puede obtener acceso a una extensión ToList() o cualquier otra cosa por el estilo.
Sólo estoy buscando a escribir algo como ...
foreach(Suit s in Enum.GetValues(typeof(Suit)).Select(x=>x).Where(x=> x != param)){}
¿Hay algo que me falta, o puede que alguien me explique por qué esto no es posible?
Gracias.
Tiendo a ver 'OfType' más apropiado para cuando buscas filtrar una lista, y' Cast' para fundir. ¿Hay alguna razón para usar 'Int32' en lugar de' Suit'? –
Para cualquier 'IEnumerable' que contenga tipos homogéneos,' OfType 'y' Cast 'funcionarán y se comportarán de forma prácticamente idéntica. En cuanto a usar 'Int32' en lugar de' Suit', no estoy seguro de por qué lo hice, mi respuesta ha sido corregida. –
Funciona como yo estaba buscando. ¡Gracias! – ahawker