Bra*_* Ds 38 c# switch-statement
对于这个程序:
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,
}
Run Code Online (Sandbox Code Playgroud)
我有:
"switch表达式或case标签必须是bool,char,string,integral,enum或相应的可空类型"
但state变量是enum类型.如果我评论该goto case行,错误就会消失.
我正在使用VS 2013. + .NET 4.5.1.
根据您的使用情况,这也可能是您的选择:
switch (state)
{
case States.Zero:
case States.One:
Console.WriteLine("One");
break;
}
Run Code Online (Sandbox Code Playgroud)
这应该根据这里的示例工作:http://msdn.microsoft.com/de-de/library/06tc147t.aspx