2012-09-01 41 views
-3

我想从一个开关的情况下移动到另一个:移动到另一个

Switch() 
{ 

} 
c=console.readline(); 
switch(yup) 
{ 
    case y: 
    "I WANT TO CALL SWITCH 1;" 
    case n: 
    EXIT; 
} 
+1

你能尝试以更好的方式解释你的问题吗? –

+1

'exit'?你刚发明了那个吗? – DarthVader

回答

1

如果你想“调用另一个开关”,你必须将它解压缩到一个单独的方法,并调用它。

public static void Main() 
{ 
    MethodWithFirstSwitch();   

    c=console.readline(); 

    switch(yup) 
    { 
     case y: 
     MethodWithFirstSwitch(); 
     case n: 
     EXIT; 
    } 
} 

private static void MethodWithFirstSwitch() 
{ 
    switch(something) 
    { 
      case "something": 
      break; 
      default: 
      break; 
    } 
} 

我不确定这是否是您的问题的准确aproximation。 你有一个开关,然后总是想运行一些代码,然后是一个新的开关,其中一个情况运行与之前相同的开关。

由于存在不存在的变量和EXIT;调用,因此这不会按照当然的方式运行,但可作为示例。

如果这不能解决您的问题,请更新原始帖子,详细说明您正在尝试实现的内容。

0

我想这是你想要什么: -

0

要做到从字面上你”再问你需要一个goto。然而,大多数人对goto非常不喜欢,因为它会让你的代码很难理解,调试和维护。

通常我会使用do/while循环,检查您在准备退出时设置的变量。像这样:

bool done = false; 

do 
{ 
    switch(/* ... */) 
    { 
     // ... 
    } 

    c = Console.ReadLine(); 

    switch(yup) 
    { 
     case y: 
      break; 
     case n: 
      done = true; 
      break; 
    } 
} 
while(!done); 
0
private void Form1_Load(object sender, EventArgs e) 
    { 
     MyFirstSwitch(true); 
     //c=console.readline(); 
     string yup; 
     switch (yup) 
     { 
      case "y": 
       MyFirstSwitch(false); 
       break; 
      case "n": 
       //Exit 
       break; 
     } 
    } 

    private void MyFirstSwitch(bool check) 
    { 
     switch (check) 
     { 
      case true: 
       //Do some thing hereZ 
       break; 

      case false: 
       //Do some thing hereZ 
       break; 
     } 
    }