cyb*_*cat 2 c# switch-statement
有没有办法可以为每个"Case"执行相同的代码行,但只需要输入一次而不是为所有Case指定相同的代码?
switch (SomeTest)
{
case "test1":
{
// Do something for test 1
break;
}
case "test2":
{
// Do something for test 2
break;
}
case "test3":
{
// Do something for test 3
break;
}
// =====> Then do something generic here for example if case is test1, test2 or test3
}
Run Code Online (Sandbox Code Playgroud)
你可能在想它吗?
switch(SomeTest)
{
// specific stuff
}
// code you want running for every case
Run Code Online (Sandbox Code Playgroud)
否则,你可以做的最好的事情是没有设置标志或什么:
switch(SomeTest)
{
// specific stuff
}
switch(SomeTest)
{
case "Test1", "Test2", "Test3":
// stuff for the matching cases
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您想为匹配的每个案例运行代码:
bool runGenericStuff = true;
switch(SomeTest)
{
// specific stuff
default:
runGenericStuff = false;
}
if (runGenericStuff)
{
// run generic stuff
}
Run Code Online (Sandbox Code Playgroud)
这可以节省您在每种情况下都必须设置标志.