这适用于任何语言,但我标记了c#,因为这是我现在使用的.
当两个条件中的任何一个为真时,我有一些我想要运行的语句,但是根据哪个条件为真,可以运行一些额外的特殊语句(只有一个可以为真)
if( condition1 || condition2 )
{
statement1;
statement2;
if( condition1 )
additional_statement1;
else // (condition2)
additional_statement2;
}
Run Code Online (Sandbox Code Playgroud)
这看起来很草率(我测试了两次"condition1")并且只使用了OR语句,因为我希望两种条件都有相同的响应,但现在增强需要响应略有不同.无论如何要漂亮吗?
这种方法是不是真的说不好.if语句非常便宜且快速,只要条件表达式本身便宜且快速.话虽这么说,你可以将常用功能包装成一个函数:
if (condition1)
{
CommonFunction();
//CustomStuff
}
else if (condition2)
{
CommonFunction();
//Other stuff
}
Run Code Online (Sandbox Code Playgroud)
这避免了复制粘贴问题,并且条件表达式的执行最少.