gpt4 book ai didi

c# - 为什么这个开关里面的这个 goto 不起作用?

转载 作者:IT王子 更新时间:2023-10-29 03:59:48 26 4
gpt4 key购买 nike

对于这个程序:

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,
}

我得到了:

"A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type"

但是state变量是enum类型。如果我评论 goto case 行,错误就会消失。

我正在使用 VS 2013. + .NET 4.5.1。

最佳答案

这是 known bugenum 被键入为 ulong 并且您同时使用 goto case 时,C# 编译器的功能。如果从 enum 中删除 ulong,它编译得很好。而且因为遇到这个问题的人并不多,所以他们没有专注于修复它。

关于c# - 为什么这个开关里面的这个 goto 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23604677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com