如何在扑镖中使用具有多种条件的三元运算符?

Kam*_*yan 5 ternary-operator dart flutter

如果使用“ OR”和“ AND”两个或两个以上条件,如何使用三元

    if(foo == 1 || foo == 2)
     {
      do something
      }
     {
      else do something
      } 
Run Code Online (Sandbox Code Playgroud)

我想像使用它

  foo == 1 || foo == 2 ? doSomething : doSomething
Run Code Online (Sandbox Code Playgroud)

Jam*_*sia 9

如果您在dart中引用else if语句,则此三元运算符:

(foo==1)?something1():(foo==2)? something2():(foo==3)? something3(): something4();
Run Code Online (Sandbox Code Playgroud)

等效于此:

if(foo ==1){
    something1();
}
elseif(foo ==2){
    something2();
}
elseif(foo ==3){
    something3();
}
else something4();
Run Code Online (Sandbox Code Playgroud)

  • ‘?’ 标志着条件的结束,‘:’ 仅仅意味着 else (3认同)

小智 7

对于三个条件使用:

value: (i == 1) ? 1 : (i == 2) ? 2 : 0

  • 你不必粗鲁地给他投反对票。他提出了使用多个三元运算符的想法。我没看出有什么问题。 (6认同)

Meh*_*ria 4

尝试下面

(2 > 3)?print("It is more than 3"):print("It is less than 3");
////Prints It is less than 3 to the console
Run Code Online (Sandbox Code Playgroud)