Для этой программы:
class Program
{
static void Main(string[] args)
{
var state = States.One;
switch (state)
{
case States.One:
Console.WriteLine("One");
break;
case States.Zero:
goto case States.One;
}
}
}
public enum States : ulong
{
Zero = 0,
One = 1,
}
Я получил:
"Выражение switch или case label должно быть bool, char, string, интеграл, перечисление или соответствующий нулевой тип"
Но переменная state
имеет тип enum
. Ошибка исчезнет, если я прокомментирую строку goto case
.
Я использую VS 2013. +.NET 4.5.1.