Цикл посредством перечисления

Что лучший способ состоит в том, чтобы циклично выполнить посредством перечисления, ища совпадающее значение?

string match = "A";

enum Sample { A, B, C, D }

foreach(...) {
  //should return Sample.A
}
5
задан Germ 3 May 2010 в 22:30
поделиться

4 ответа

Вы ищете Enum.Parse :

Sample e = (Sample)Enum.Parse(typeof(Sample), match);

Вы можете просмотреть значения в цикле, вызвав Enum.GetValues или Enum.GetNames .

11
ответ дан 13 December 2019 в 19:23
поделиться

Используйте Enum.Parse

(Sample)Enum.Parse(typeof(Samples), "A"); //returns Sample.A
0
ответ дан 13 December 2019 в 19:23
поделиться
public Sample matchStringToSample(string match)
{
    return (Sample)Enum.Parse(typeof(Sample), match);
}

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

0
ответ дан 13 December 2019 в 19:23
поделиться
Enum.Parse(typeof(Sample), "A");
0
ответ дан 13 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: