Значения типов Enum

Мне просто интересно, почему я получаю такой вывод:

enum MyEnum
{
    a=1,
    b=2,
    c=3,
    d=3,
    f=d
}
Console.WriteLine(MyEnum.f.ToString());

OUTPUT
c


Но в Mono
OUTPUT
f

Так почему же выход c? не буду? Как компилятор выбирает c? Если я изменю код следующим образом:

enum MyEnum
{
    a=1,
    b=2,
    c=3,
    d=3, 
    k=3
}
Console.WriteLine(MyEnum.k.ToString());


ВЫХОД
c
снова!

Другой пример :

enum MyEnum
{
    a=3,
    b=3,
    c=3,      
    d=3,
    f=d,   
}
MessageBox.Show(MyEnum.f.ToString());

ВЫХОД
c

28
задан bizzehdee 21 July 2013 в 14:40
поделиться