我发布这个问题是因为我发现这类帖子没什么相似之处.
我正在学习三元运算符.
我想执行如下所示的操作:
bool Divisible = false;
foreach (var Number in NumberList))
{
var Number = 242;
if ((Number %= 2) | (Number %= 6))
{
Divisible = true;
}
else
{
Divisible = false;
}
}
我们可以使用这样的三元运算符来编写它:
var Divisible = (Number %= 2 | Number %= 6) ? false : true ;
但是如果在else块中有多个语句那么该怎么办?
bool Divisible = false;
foreach (var Number in NumberList))
{
var Number = 242;
if ((Number %= 2) | (Number %= 6))
{
Divisible = true;
}
else
{
Divisible = false;
break;
}
}
我们如何使用多个else语句编写三元运算符?
请分享您对三元操作符的了解.
解决方法:
But if in else block there are multiple statements then what to do?
如果语句不相关,则不使用条件运算符.只需使用你已经拥有的if-else.
在你的情况下,因为你的代码需要打破当且仅当Divisible设置为false时,你就不能使用条件运算符,即使你想破解它,因为break是一个语句,而不是表达式,因此不能作为条件运算符的一部分出现.
通常,只有在根据条件决定分配两个值之一时,才使用条件运算符.除此之外,你应该使用常规的if-else结构.不要试图将条件运算符搞砸到任何决策代码中,因为你经常发现自己遇到了这样的问题.