How can I get the ordinal of an Enum in a for-loop?
I tried something like this:
Enum test {A,B,C}
byte[] helper =new byte[3];
foreach (tests i in Enum.GetValues(typeof(test)))
{ helper[i] == test.i; }
But this doesn't work...
In Java, I know you can use:
Enum test {A,B,C}
byte[] helper =new byte[3];
for (test i : test.values())
{ helper[i] == i.ordinal(); }
Is there something similar in c#? Or does anyone have a better idea for solving this issue?
here the original Parts of the Code(in Java):
public enum Facelet
{U1, U2, U3, U4, U5, U6, U7, U8, U9, R1, R2, R3, R4, R5, R6, R7, R8, R9, F1, F2, F3, F4, F5, F6, F7, F8, F9, D1, D2, D3, D4, D5, D6, D7, D8, D9, L1, L2, L3, L4, L5, L6, L7, L8, L9, B1, B2, B3, B4, B5, B6, B7, B8, B9}
enum color { U, R, F, D, L, B }
enum Corner{URF, UFL, ULB, UBR, DFR, DLF, DBL, DRB }
Byte ori;
final static Facelet[][] cornerFacelet = { { U9, R1, F3 }, { U7, F1, L3 }, { U1, L1, B3 }, { U3, B1, R3 },
{ D3, F9, R7 }, { D1, L9, F7 }, { D7, B9, L7 }, { D9, R9, B7 } };
public Color[] f = new Color[54];
and this is the for-loop:
for (Corner i : Corner.values())
{
for (ori = 0; ori < 3; ori++)
if (f[cornerFacelet[i.ordinal()][ ori].ordinal()] == color.U || f[cornerFacelet[i.ordinal()][ori].ordinal()] == color.D)
break;}