更好的if / else语句

时间:2014-09-11 21:39:53

标签: c#

这适用于任何语言,但我标记了c#,因为这就是我现在使用的内容。

我有一些声明,我希望在两个条件中的任何一个为真时运行,但是后来一些额外的特殊声明取决于哪个是真的(只有一个可以为真)

if( condition1 || condition2 )
{
    statement1;
    statement2;

    if( condition1 )
        additional_statement1;
    else // (condition2)
        additional_statement2;
}

这似乎很草率(我测试" condition1"两次)并且只使用了OR语句,因为我希望两种条件都有相同的响应,但现在增强需要响应略有不同。无论如何要这么好吗?

1 个答案:

答案 0 :(得分:5)

这种做法并非 那么糟糕。 if语句非常便宜且快速,只要条件表达式本身便宜且快速。话虽这么说,你可以将常用功能包装成一个函数:

if (condition1)
{
   CommonFunction();
   //CustomStuff
}
else if (condition2)
{
    CommonFunction();
    //Other stuff
}

这可以避免复制粘贴问题,并且条件表达式的执行最少。