How to use a Ternary Operator with multiple condition in flutter dart?

后端 未结 6 1007
逝去的感伤
逝去的感伤 2021-02-03 10:28

how to use ternary if else with two or more condition using \"OR\" and \"AND\" like

    if(foo == 1 || foo == 2)
     {
      do something
      }
     {
      e         


        
相关标签:
6条回答
  • 2021-02-03 10:46

    EDITED

    The original answer has run a little bit of from the question asked. Below is my edited answer.

    To use ternary operator

    (foo == 1 || foo == 2) ? doSomething() : doSomethingElse();
    

    For my cleaner approach

    {1, 2}.contains(foo) ? doSomething() : doSomethingElse();
    

    ORIGINAL

    The cleaner way for me is

    if ({1, 2}.contains(foo)) {
      //do something
    } else {
      //do something else
    }
    
    0 讨论(0)
  • 2021-02-03 10:49
    void main(){
      var a,b,c,d;  
      a = 7;  
      b = 9;  
      c = 11;  
      d = 15;  
      print((a>b)?((a>c)?((a>d)?a:d):c):(b>c)?((b>d)?b:d):(c>d)?c:d);
    }
    
    0 讨论(0)
  • 2021-02-03 10:50

    If you're referring to else if statements in dart, then this ternary operator:

    (foo==1)? something1():(foo==2)? something2():(foo==3)? something3(): something4();
    

    is equivalent to this:

    if(foo == 1){
        something1();
    }
    elseif(foo == 2){
        something2();
    }
    elseif(foo == 3){
        something3();
    }
    else something4();
    
    0 讨论(0)
  • 2021-02-03 10:56

    it is easy,

    if(foo == 1 || foo == 2)
     {
      do something
      }
     {
      else do something
      } 
    

    it can be written thus for OR statement

    foo==1 || foo==2 ? do something : else do something

    it can be written thus for AND statement

    foo==1 && foo==2 ? do something : else do something

    both will work perfectly

    0 讨论(0)
  • 2021-02-03 11:03

    For three conditions use:

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

    0 讨论(0)
  • 2021-02-03 11:10

    Try below

    (2 > 3)?print("It is more than 3"):print("It is less than 3");
    ////Prints It is less than 3 to the console
    
    0 讨论(0)
提交回复
热议问题