比较三个值是否相等

Rap*_*arn 7 if-statement compare swift

有人知道测试三个数字是否相同的快捷方式吗?我知道这有效:

if number1 == number2 && number2 == number3 {

}
Run Code Online (Sandbox Code Playgroud)

但我想要更干净的东西,比如;

if number1 == number2 == number3 {

}
Run Code Online (Sandbox Code Playgroud)

这是非常重要的,因为我正在比较许多不同的价值观.

Wai*_*ain 10

你可以使用一套

if Set([number1, number2, number3]).count == 1 {
    ...
Run Code Online (Sandbox Code Playgroud)

虽然我认为它不像多个if子句那样透明

  • 该帖子提到“我正在比较很多不同的值”,因此这是比使用元组更可持续的方法。 (2认同)

Luc*_*tti 10

您可以使用元组的力量和平等的传递属性.

if (number1, number2) == (number2, number3) {

}
Run Code Online (Sandbox Code Playgroud)

只有number1等于number2 AND number2等于时,此IF的子句才为真number3.这意味着3个值必须等于.

  • 此时,有人可能会输入“number1 == number2 && number2 == number3”。 (2认同)

Der*_*123 7

您可以将它们添加到数组中并使用集合:

var someSet = NSSet(array: [2,2,2])

if someSet.count == 1 {
    print("Same values")
}
Run Code Online (Sandbox Code Playgroud)