Iterating through an enumerated type

I have a enumerated type like this

enun myEnum {
 a = 0,
 b = 1,

var foo : myEnum;

How do I go about progressing to the next value? foo++ does not work. Also, is there anyway to detect how many values are in the enumerated type to prevent going out of bounds.


Use System.Enum.GetValues().Length to see how many items there are.

If you define your enum like this-

enum myEnum {a, b, c, d, e /* etc */}

Then (in C# at least) you should be able to use the ++ operator (and the --, for that matter), because the numbers are implicitly set in the enum. By explicitly setting the numbers, you make it impossible to operate on them in this way, because there is no way of knowing that the next number up will equate to anything, and so the operator is disallowed.

just searched for same thing, and ended up with following snippet.

enum SevenDeadlySins { .. }
function Confess(sin : SevenDeadlySins) { .. }
for( var i:int in SevenDeadlySins.GetValues(SevenDeadlySins) ) {
     Confess( parseInt(i) ) );