免责声明。我不宽恕这种枚举。它会导致混乱并且容易出错。不过,我对我发现的不正常感到好奇。
我正在使用以下代码(fiddle here):
enum Anims{
Donkey = 1, Wonkey = 1,
Monkey = 2, Oinky =2,
A = 3, B = 3, C = 3, bb = 4, aa = 4
}
foreach(Anims anim in Enum.GetValues(typeof(Anims)))
Console.WriteLine((Anims)((int)anim));
我预期的结果是要显示首先声明的值。可能是最后分配的值。这一切都没发生。我还在考虑输出中的字母顺序。都能跟得上...
如果存在多个与之对应的值,那么算法决定整数将在枚举中投入的算法是什么?
输出:
Wonkey
Wonkey
猴子
猴子
一个
一个
一个
BB
bb