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