这适用于任何语言,但我标记了c#,因为这就是我现在使用的内容。
我有一些声明,我希望在两个条件中的任何一个为真时运行,但是后来一些额外的特殊声明取决于哪个是真的(只有一个可以为真)
if( condition1 || condition2 )
{
statement1;
statement2;
if( condition1 )
additional_statement1;
else // (condition2)
additional_statement2;
}
这似乎很草率(我测试" condition1"两次)并且只使用了OR语句,因为我希望两种条件都有相同的响应,但现在增强需要响应略有不同。无论如何要这么好吗?
答案 0 :(得分:5)
这种做法并非 那么糟糕。 if
语句非常便宜且快速,只要条件表达式本身便宜且快速。话虽这么说,你可以将常用功能包装成一个函数:
if (condition1)
{
CommonFunction();
//CustomStuff
}
else if (condition2)
{
CommonFunction();
//Other stuff
}
这可以避免复制粘贴问题,并且条件表达式的执行最少。