如何在三元运算符中编写多个语句?

San*_*kar 5 c# operators ternary-operator c#-4.0

我发布这个问题是因为我没有发现关于此类帖子的任何类似内容。 我正在学习三元运算符。 我想执行如下所示的操作:

  bool Divisible = false;
  foreach (var Number in NumberList))
  {
    var  Number = 242;
    if ((Number %= 2) | (Number %= 6))
    {
       Divisible = true;
    }
    else
    {
       Divisible = false;
    }
  }
Run Code Online (Sandbox Code Playgroud)

我们可以使用三元运算符这样写:

var Divisible = (Number %= 2 | Number %= 6) ? false : true ;
Run Code Online (Sandbox Code Playgroud)

但是如果在 else 块中有多个语句,那么该怎么办?

  bool Divisible = false;
  foreach (var Number in NumberList))
  {
    var  Number = 242;
    if ((Number %= 2) | (Number %= 6))
    {
       Divisible = true;
    }
    else
    {
       Divisible = false;
       break;
    }
  }
Run Code Online (Sandbox Code Playgroud)

我们如何用多个 else 语句编写三元运算符?请分享您对三元运算符的了解。

Bol*_*ock 5

但是如果在 else 块中有多个语句,那么该怎么办?

如果语句不相关,则不使用条件运算符。只需使用您已经拥有的 if-else 即可。

在您的情况下,由于您的代码需要在且仅当Divisible设置为 false 时中断,因此即使您想将其破解,也不能使用条件运算符,因为中断是语句,而不是表达式,因此不能出现作为条件运算符的一部分。

通常,仅当您想根据条件决定是否分配两个之一时,才使用条件运算符。对于其他任何事情,您确实应该使用常规的 if-else 构造。不要试图将条件运算符硬塞到任何决策制定代码中,因为您经常会发现自己遇到诸如此类的问题。