2010-05-03 4 views
5

Каков наилучший способ перечислить перечисление в поисках подходящего значения?Loop through enumeration

string match = "A"; 

enum Sample { A, B, C, D } 

foreach(...) { 
    //should return Sample.A 
} 
+0

Еогеасп что? Что именно вы пытаетесь проверить? – Kobi

+0

Я ищу, чтобы увидеть, существует ли «A» и возвращает значение совпадающего счетчика – Germ

ответ

0
public Sample matchStringToSample(string match) 
{ 
    return (Sample)Enum.Parse(typeof(Sample), match); 
} 

Вы должны были бы рассмотреть случай, когда матч строка не является допустимым значением перечисления. Enum.Parse выбрасывает ArgumentException в этом случае.

+1

Если вы ожидаете, что он иногда сбой, используйте Enum.TryParse() –

+1

@Nelson: 'Enum.TryParse' является новым для .Net 4.0. – SLaks

0

Использование Enum.Parse

(Sample)Enum.Parse(typeof(Samples), "A"); //returns Sample.A 
+0

@Mark Byers, это просто пример. Дайте ему передышку. – AMissico