如何在Swift中尽可能简洁地说“如果x == A或B或C”?

时间:2016-12-01 07:08:28

标签: swift

我经常在Swift代码中遇到以下情况:

if x == A || x == B {
    // do something
}

有没有办法缩短它?

3 个答案:

答案 0 :(得分:8)

我喜欢这种情况的转换语句

switch x {
    case A, B, C:
        // do stuff
    case D:
       // other stuff
    default:
      // do default stuff
}

答案 1 :(得分:2)

如果所有相同类型的值都使用数组。如果您只想检查x是否与任何值匹配。

例如:

let x = 10
let A = 20
let B = 40
let C = 40


let myArray = [A, B,C]


if myArray.contains(x) {
  // do something
}

答案 2 :(得分:-1)

if (x ^ A) * (x ^ B) * (x ^ C) == 0 {
    //do what you need
}

更短的?不确定...更令人印象深刻?肯定。