在C#中,如何使用较短的方法(使用?)表示以下if else语句:
if (condition1 == true && count > 6)
{
dothismethod(value);
}
else if (condition2 == false)
{
dothismethod(value);
}
我的代码看起来非常混乱这些陈述。有人可以指导我一个很好的资源,如果那么其他捷径语法?
答案 0 :(得分:18)
听起来你正在尝试写
if ((condition1 && count > 6) || !condition2)
SomeMethod();
答案 1 :(得分:9)
?
不是“快捷方式”。它被称为三元运算符,当您想根据条件为某个变量赋值时使用它,如下所示:
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);