У меня есть перечисление (ниже), в котором я хочу использовать метод расширения LINQ.IEnumerable Extension Methods on Enum
enum Suit{
Hearts = 0,
Diamonds = 1,
Clubs = 2,
Spades = 3
}
Enum.GetValues (...) имеет возвращаемого типа System.Array, но я не могу показаться, чтобы получить доступ к расширению ToList() или что-нибудь еще в этом роде.
Я просто смотрю, чтобы написать что-то вроде ...
foreach(Suit s in Enum.GetValues(typeof(Suit)).Select(x=>x).Where(x=> x != param)){}
Есть ли что-то я пропускаю, или может кто-нибудь объяснить мне, почему это не возможно?
Спасибо.
Я склонен видеть, что 'OfType' более уместен, когда вы хотите отфильтровать список и' Cast' для кастинга. Есть ли причина использовать 'Int32', а не' Suit'? –
Для любого 'IEnumerable', который содержит однородные типы,' OfType 'и' Cast 'будут выполнять и вести себя практически одинаково. Что касается использования 'Int32', а не' Suit', я не совсем уверен, почему я это сделал - мой ответ был исправлен. –
Работает точно так же, как я искал. Благодаря! – ahawker