У меня есть перечисление, которое определяется следующим образом:
public enum eRat { A = 0, B=3, C=5, D=8 };
Итак, заданное значение eRat.B
, я хочу получить следующий, который eRat.C
Решение, которое я вижу, (без проверки диапазона)
Array a = Enum.GetValues(typeof(eRat));
int i=0 ;
for (i = 0; i < a.GetLength(); i++)
{
if (a.GetValue(i) == eRat.B)
break;
}
return (eRat)a.GetValue(i+1):
Теперь это слишком сложная задача, для чего-то простого. Вы знаете лучшее решение? Что-то вроде eRat.B+1
или Enum.Next(Erat.B)
?
Спасибо