I have an enum which is defined like this:

```
public enum eRat { A = 0, B=3, C=5, D=8 };

```

So given value `eRat.B`, I want to get the next one which is `eRat.C`

The solution I see is (without range checking)

```
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):

```

Now that is too much complexity, for something that simple. Do you know any better solution?? Something like `eRat.B+1` or `Enum.Next(Erat.B)`?

Thanks