是否有一个VB .NET等效于C Fall Through交换机?

时间:2016-05-10 14:28:08

标签: c vb.net switch-statement select-case

这不是这个问题的重复:VB.NET Stacking Select Case Statements together like in Switch C#/Java。这里提供的答案没有回答我的问题。答案就是说我已经知道VB .Net有一个自动中断。我在问是否有任何解决方法。

在C中,可以这样做:

int i = 1;
switch (i) {
   case 1 :
     //Do first stuff
     break;
   case 2 :
     //Do second stuff
     //Fall Through
   case 3 :
     //Do third stuff 
     break;
}

基本上

  • 如果i为1,那么app会做第一件事。
  • 如果i为2,则会执行第二次和第三次。
  • 如果i为3,则仅执行第三项操作。

由于VB .Net中每个Select case语句的末尾都有自动中断,有没有人知道如何在VB .Net中实现这一点?

以一种漂亮而漂亮的方式,我的意思是......

1 个答案:

答案 0 :(得分:7)

你的前提是错的。在C#中,如果当前案例有语句,则无法进入下一个案例。尝试这样做会导致编译错误。

但是,您可以(ab)使用goto case来实现此目的。

switch(0)
{
    case 0:
        Console.WriteLine("0");
        goto case 1;
    case 1:
        Console.WriteLine("1");
        break;

}

VB.Net有no equivalent of goto case