我正在使用 switch/case 语句处理已部署应用程序的一些更新。基本上,我想按照顺序执行每个 case,以将当前运行版本更新到最新版本。
从 Visual Studio 的警告中,我了解到 C# 不允许跨越到下一个 case(这正是我要做的)。从这个问题中,我学会了如何实现我的需求。然而,这似乎仍然是一个错误。
我目前的代码如下:
switch (myCurrentVersion)
{
case null:
case "":
case "0":
UpdateToV1();
goto case "1";
case "1":
UpdateToV2();
}
我在 case "1":
这行代码中遇到了以下错误:
Error 1 Control cannot fall through from one case label ('case "1":') to another
我做错了什么?如何强制它继续执行下去?
break
不是隐式的呢?不允许穿透,那么为什么要让我一遍又一遍地写break
呢?如果可以通过某个关键字显式地允许穿透,那么我会很喜欢它,但除此之外,为什么不帮我省点打字呢?在这种情况下,您还需要明确允许空case块的穿透,但这似乎是一个不太常见的情况。 - Ed S.