我需要帮助我正在使用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声明,但我不确定。
感谢。
答案 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语句来执行此操作。
为了使你的代码更具可读性和可理解性,你可以将你的案例变成一个函数,并在满足一定条件时调用函数。