Эй, ребята, у меня были проблемы с "порядком" значений перечисления. Это немного сложно объяснить, поэтому я написал код:
class Program
{
public enum EnumA
{
One = 1,
Two = One,
Three = Two,
Four = 4
}
public enum EnumB
{
One = 1,
Two = One,
Four = 4,
Three = Two
}
public enum EnumC
{
Two = One,
Three = Two,
Four = 4,
One = 1
}
static void Main(string[] args)
{
Console.WriteLine("Enum A:");
Console.WriteLine(EnumA.One);
Console.WriteLine(EnumA.Two);
Console.WriteLine(EnumA.Three);
Console.WriteLine(EnumA.Four);
Console.WriteLine();
Console.WriteLine("Enum B:");
Console.WriteLine(EnumB.One);
Console.WriteLine(EnumB.Two);
Console.WriteLine(EnumB.Three);
Console.WriteLine(EnumB.Four);
Console.WriteLine();
Console.WriteLine("Enum C:");
Console.WriteLine(EnumC.One);
Console.WriteLine(EnumC.Two);
Console.WriteLine(EnumC.Three);
Console.WriteLine(EnumC.Four);
Console.WriteLine();
Console.ReadLine();
}
}
Вывод:
Enum A:
Два
Два
Два
Четыре
Enum B:
Три
Три
Три
Четыре
Enum C:
Один
Один
Один
Четыре
Мой вопрос: ПОЧЕМУ? Я не могу найти логику для вывода. Большую часть времени можно найти какую-то логику, поэтому я надеюсь, что вы, ребята, сможете пролить свет на эту проблему.
Я использовал VS2010 / .Net 4.0 для компиляции и запуска кода.