C#中的Switch Case语句

时间:2013-07-31 17:01:15

标签: c# visual-studio-2010

我需要帮助我正在使用C#语音识别程序。

这是指Switch语句。如果我们有一个这样的例子:

//FIRST CASE STATEMENT
case "open chrome":
System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe");
JARVIS.Speak("Loading");
break;
//SECOND CASE STATEMENT
case "Thanks":
JARVIS.Speak("No problem");
break;

我如何做到这一点,如果没有说第一个案例陈述,那么第二个案例陈述将无效。但如果第一个案例陈述IS说,那么它将允许第二个案例陈述起作用。

我在想这里我需要一个IF声明,但我不确定。

感谢。

3 个答案:

答案 0 :(得分:3)

怎么样

//FIRST CASE STATEMENT
case "open chrome":
System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe");
JARVIS.Speak("Loading");
alocalvariable = true;
break;

外部开关

if (alocalvariable)    
{
    JARVIS.Speak("No problem");
    alocalvariable = false;
} 

答案 1 :(得分:2)

你没有真正指定这个,但是这个设置方式,每次你想要开关2时,开关1都必须被击中一次:

bool isValid = false;
switch(whateverYourVariableIsCalled)
{


    //FIRST CASE STATEMENT
    case "open chrome":
        System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe");
        JARVIS.Speak("Loading");
        isValid = true;
        break;
    //SECOND CASE STATEMENT
    case "Thanks":
        if (isValid)
        {
            JARVIS.Speak("No problem");
        }
        isValid = false;
        break;
}

答案 2 :(得分:0)

Switch / Case就像if-else语句一样,它只会执行一个case。

您需要一个嵌套的if语句来执行此操作。

为了使你的代码更具可读性和可理解性,你可以将你的案例变成一个函数,并在满足一定条件时调用函数。