C#if else快捷方式

时间:2012-11-21 23:11:33

标签: c#

在C#中,如何使用较短的方法(使用?)表示以下if else语句:

 if (condition1 == true && count > 6)
           {
               dothismethod(value);

           }
           else if (condition2 == false)
           {

               dothismethod(value);
           }

我的代码看起来非常混乱这些陈述。有人可以指导我一个很好的资源,如果那么其他捷径语法?

4 个答案:

答案 0 :(得分:18)

听起来你正在尝试写

if ((condition1 && count > 6) || !condition2)
    SomeMethod();

答案 1 :(得分:9)

如果/ else,

?不是“快捷方式”。它被称为三元运算符,当您想根据条件为某个变量赋值时使用它,如下所示:

string message = hasError ? "There's an error!" : "Everything seems fine...";

MSDN:http://msdn.microsoft.com/en-us/library/ty67wk28%28v=vs.100%29.aspx

答案 2 :(得分:4)

你可以这样写:

if ((condition1 == true && count > 6) || condition2 == false)
{
    dothismethod(value);
}

但就个人而言,我会将您的第一个表达式定义为另一个变量,因此您的if语句会变得更清晰:

bool meaningfulConditionName = (condition1 == true) && count > 6;
if (meaningfulConditionName || !condition2)
{
    dothismethod(value);
}

答案 3 :(得分:0)

条件运算符?仅适用于值赋值。但是你绝对可以将两者都折叠成一个,因为两者的结果相同:

if ((condition1 == true && count > 6) || condition2 == false)
           {
               dothismethod(value);
           }

或者更简洁:

if ((condition1 && count > 6) || !condition2) dothismethod(value);