Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> foreach по enum 
:(
    Опции темы
Dims
Дата 3.11.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 0
Всего: 11



Можно ли как-то пробежаться циклом по перечислению enum?
PM MAIL   Вверх
gradvinn
Дата 3.11.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.9.2009

Репутация: нет
Всего: нет



Можно использовать статические методы класса Enum. Вот один из способов:
Код

class Program {
  static void Main(string[] args) {
   Array d = Enum.GetValues(typeof(Test));
   foreach(Test i in d)
   Console.WriteLine(i);
   }
  }
  
  enum Test{
  A,B,C,D,E,F
  }

PM MAIL   Вверх
tol05
Дата 3.11.2009, 22:25 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Dims, а для чего это может быть нужно? 

Перечисление - это просто совокупность именованных констант (целочисленных в общем случае) и все. Думаю что использование Enum.IsDefined и Enum.Parse - это более чем достаточно на все случаи жизни.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Partizan
Дата 4.11.2009, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



tol05, Иногда бывает надо в гуе показать =)


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Dims
Дата 4.11.2009, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 0
Всего: 11



Цитата(tol05 @  3.11.2009,  22:25 Найти цитируемый пост)
Dims, а для чего это может быть нужно? 

У меня программа запрашивает сайт и там есть параметр, который я закодировал энумом. А с другого конца требуется запросить по всем возможным параметрам.

В общем, я сделал статический массив, куда вручную прописал все энумы.

Добавлено через 1 минуту
Цитата(tol05 @  3.11.2009,  22:25 Найти цитируемый пост)
Перечисление - это просто совокупность именованных констант (целочисленных в общем случае) и все.

С математической точки зрения это константное множество. А по множеству ведь можно пробежаться.

PM MAIL   Вверх
diadiavova
Дата 4.11.2009, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dims @  4.11.2009,  01:53 Найти цитируемый пост)
В общем, я сделал статический массив, куда вручную прописал все энумы.

А чем первый ответ в топике не устроил? Зачем вручную то? smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dims
Дата 4.11.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 0
Всего: 11



А я успел раньше ответа smile

Кроме того, оказалось, что мне лучше контролировать порядок поступления элементов. Поскольку перебор всегда в какой-то момент прерывается, то в начало я поставил более часто встречающиеся элементы.

Хотя этого же можно было достичь и перестановкой элементов в самом определении enum.
PM MAIL   Вверх
diadiavova
Дата 4.11.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dims @  4.11.2009,  14:06 Найти цитируемый пост)
Хотя этого же можно было достичь и перестановкой элементов в самом определении enum. 

Перестановкой вряд ли, а вот если назначить числовые значения константам в соответствии с приоритетом, то можно выполнить сортировку по числовым значениям.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1145 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.