如果使用“ OR”和“ AND”之类的两个或多个条件,如何使用三元数
if(foo == 1 || foo == 2)
{
do something
}
{
else do something
}
我想像
一样使用它 foo == 1 || foo == 2 ? doSomething : doSomething
答案 0 :(得分:1)
尝试以下
(2 > 3)?print("It is more than 3"):print("It is less than 3");
////Prints It is less than 3 to the console
答案 1 :(得分:1)
如果您在dart中引用else if语句,则此三元运算符:
public static boolean isEmulator() {
return Build.FINGERPRINT.startsWith("generic")
|| Build.FINGERPRINT.startsWith("unknown")
|| Build.MODEL.contains("google_sdk")
|| Build.MODEL.contains("Emulator")
|| Build.MODEL.contains("Android SDK built for x86")
|| Build.MANUFACTURER.contains("Genymotion")
|| (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))
|| "google_sdk".equals(Build.PRODUCT);
}
等效于此:
(foo==1)?something1():(foo==2)? something2():(foo==3)? something3(): something4()
答案 2 :(得分:1)
很容易,
if(foo == 1 || foo == 2)
{
do something
}
{
else do something
}
因此可以写成OR
语句
foo==1 || foo==2 ? do something : else do something
因此可以写成AND
语句
foo==1 && foo==2 ? do something : else do something
两者都可以很好地工作
答案 3 :(得分:1)
为了 AND 试试这个, // 这里需要满足两个或多个条件
if (primaryImageUploaded == true && signatureImageUploaded == true) {
// status bool condition in true
} else {
// if false
}
对于或尝试这个, // 这里只需要满足任何一个条件
if (primaryImageUploaded == true || signatureImageUploaded == true) {
// status bool condition in true
} else {
// if false
}
另一种 Dart 语法
if (100 > 50) {
print("100 is greater than 50");
}
答案 4 :(得分:0)
这是一个相同的例子
Text((managerStatus == "pending")
? "Requested"
: (adminStatus == "confirm")
? "Amount credited"
: "Admin Pending")
答案 5 :(得分:-1)
对于三种情况,请使用:
value: (i == 1) ? 1 : (i == 2) ? 2 : 0
答案 6 :(得分:-1)
已编辑
原始答案与所提问题略有出入。下面是我编辑的答案。
使用三元运算符
(foo == 1 || foo == 2) ? doSomething() : doSomethingElse();
为了我的清洁方法
{1, 2}.contains(foo) ? doSomething() : doSomethingElse();
原始
对我来说更干净的方式是
if ({1, 2}.contains(foo)) {
//do something
} else {
//do something else
}
答案 7 :(得分:-2)
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);
}