如何使用带有两个或多个条件的三元if else,使用“OR”和“AND”,例如:
if(foo == 1 || foo == 2)
{
do something
}
{
else do something
}
我希望像这样使用它
foo == 1 || foo == 2 ? doSomething : doSomething
如何使用带有两个或多个条件的三元if else,使用“OR”和“AND”,例如:
if(foo == 1 || foo == 2)
{
do something
}
{
else do something
}
我希望像这样使用它
foo == 1 || foo == 2 ? doSomething : doSomething
如果你在讨论Dart中的else if语句,那么这个三元运算符:
(foo==1)? something1():(foo==2)? something2(): something3();
等同于此:
if(foo == 1){
something1();
}
elseif(foo == 2){
something2();
}
else something3();
?
和 :
总是交替出现。 - West针对三种情况使用:
value: (i == 1) ? 1 : (i == 2) ? 2 : 0
(2 > 3)?print("It is more than 3"):print("It is less than 3");
////Prints It is less than 3 to the console
如果想使用AND,可以尝试以下方法: // 这里需要同时满足多个条件
if (primaryImageUploaded == true && signatureImageUploaded == true) {
// status bool condition in true
} else {
// if false
}
如果要使用OR,请尝试以下方法, // 只需要满足任意一种条件即可
if (primaryImageUploaded == true || signatureImageUploaded == true) {
// status bool condition in true
} else {
// if false
}
另一种Dart语法
if (100 > 50) {
print("100 is greater than 50");
}
请尝试以下代码:
foo == 1 ? doSomething1 : (foo == 2 ? doSomething1 : doSomething2)
如果您需要包含多个条件,则应使用括号。
同样的内容,如下所示
Text((managerStatus == "pending")
? "Requested"
: (adminStatus == "confirm")
? "Amount credited"
: "Admin Pending")
这很简单,
if(foo == 1 || foo == 2)
{
do something
}
{
else do something
}
对于 OR
语句,可以这样写:
foo==1 || foo==2 ? 做某事 : 否则做某事
对于 AND
语句,可以这样写:
foo==1 && foo==2 ? 做某事 : 否则做某事
两种方法都能完美地工作。
编辑
原回答偏离了问题。下面是我编辑过的答案。
使用三元运算符:
(foo == 1 || foo == 2) ? doSomething() : doSomethingElse();
{1, 2}.contains(foo) ? doSomething() : doSomethingElse();
ORIGINAL
The cleaner way for me is
if ({1, 2}.contains(foo)) {
//do something
} else {
//do something else
}
if(in_array($foo, [1,2,'other'])) {
//do something
}
else {
//else do something
}
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);
}
foo == 1 || foo == 2 ? doSomething : doSomething
也是有效的。 - lrn