万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

UnityScriptでのEnumの現象

おそらくこれはC#でも同様だと思う。

本来一番上でNone的なものを上に書くのが定石というか常識だが、

public enum State
{
    A,
    B,
    C,
    D,
    E = 0,
    F,
}

このような変なコードがあるとする。

Debug.Log(State.A);
Debug.Log(State.B);
Debug.Log(State.C);
Debug.Log(State.D);
Debug.Log(State.E);
Debug.Log(State.F);

これでログを取ると、



Debug.Log(State.A); => E
Debug.Log(State.B); => F
Debug.Log(State.C); => C
Debug.Log(State.D); => D
Debug.Log(State.E); => E
Debug.Log(State.F); => F

のように0の順番がおかしいEのせいで、A, Bが上書きされてしまった。
気をつけるべき。