我有以下switch语句,当字符串foo = "FOO"
时,该案例将触发两个MessageBoxes
。但我只会弹出“ Dog ”而不是“ Cat ”。出于某种原因,该案例只运行第一个语句然后自行中断。那是为什么?
switch(foo)
{
case "FOO"
MessageBox.Show("Dog");
MessageBox.Show("Cat");
break;
case ...
case ...
}
答案 0 :(得分:4)
无法重现。例如,运行:
using System;
using System.Windows.Forms;
class Program
{
static void Main(string[] args)
{
string foo = "FOO";
switch (foo)
{
case "FOO":
MessageBox.Show("Dog");
MessageBox.Show("Cat");
break;
}
}
}
两个消息框都会显示出来。我怀疑还有其他事情你没有向我们展示。如果您可以编辑您的问题以包含 演示问题的简短但完整的程序,那将是另一回事。
答案 1 :(得分:2)
你错过了冒号。它应该是:
switch(foo)
{
case "FOO":
MessageBox.Show("Dog");
MessageBox.Show("Cat");
break;
case ...
case ...
}
除此之外,我也无法重现这个问题。请显示更多代码 - 我很确定您没有向我们展示错误的真正原因。
答案 2 :(得分:0)
您忘了在":"
"FOO".
switch(foo)
{
case "FOO":
MessageBox.Show("Dog");
MessageBox.Show("Cat");
break;
case ...
case ...
}