C#如果有其他捷径

C#如果有其他捷径,c#,C#,在C#中,如何使用较短的方法(with?)表达以下if-else语句: 我的代码中有这些语句,看起来非常混乱。有人能告诉我一个关于if-then-else快捷语法的好资源吗 听起来你好像在试着写作 if ((condition1 && count > 6) || !condition2) SomeMethod(); 条件运算符?仅用于赋值。但你肯定可以把两个if都折叠成一个,因为两个if的结果是一样的: if ((condition1 == true &&

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


我的代码中有这些语句,看起来非常混乱。有人能告诉我一个关于if-then-else快捷语法的好资源吗

听起来你好像在试着写作

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

条件运算符
仅用于赋值。但你肯定可以把两个if都折叠成一个,因为两个if的结果是一样的:

if ((condition1 == true && count > 6) || condition2 == false)
           {
               dothismethod(value);
           }
或者更简洁地说:

if ((condition1 && count > 6) || !condition2) dothismethod(value);
不是if/else的“快捷方式”。它被称为三元运算符,当您希望根据条件为某个变量赋值时,可以使用它,例如:

string message=hasError?“出错了!”:“一切似乎都很好……”


MSDN:

您可以这样写:

if ((condition1 == true && count > 6) || condition2 == false)
{
    dothismethod(value);
}
但就我个人而言,我会将您的第一个表达式定义为另一个变量,这样您的if语句就更清晰了:

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