說我有...快速輸入if語句的方式?
if (value1 == 1 || value1 == 3 || value1 == 6) {
//Things happen
}
因爲它的每一次引用值1,有沒有這樣做的更快的方法?
說我有...快速輸入if語句的方式?
if (value1 == 1 || value1 == 3 || value1 == 6) {
//Things happen
}
因爲它的每一次引用值1,有沒有這樣做的更快的方法?
不是。
另一種方法是:
switch (value1)
{
case 1:
case 3:
case 6:
// Things happen
}
但它不是 「更快」!
您可以使用switch語句:
switch (value1)
{
case 1:
case 3:
case 6:
//Things happen
break;
case 4:
//Something else happens
break;
default:
//Something else happens
}
此,如果你在其它方面將會有大量的if語句檢查同一變量是非常有用的。
如果你的意思是做這樣的事情:
if (value1 in {1, 3, 6}) ...
則沒有,你不能做這樣的事情。 Objective-C沒有任何基本類型的集合運算符。不過,還有其他方法可以編寫代碼,以便您可以快速執行類似的操作。例如,如果可能的值的數目不是太大,你可以使用位的位置:
if (value1 & (0x02 | 0x08 | 0x20)) ...
編譯器將很可能還是那些常量一起在編譯的時候,所以比較全僅需只要按位與操作。
這可能是一個更有效的方法,這可能是我應該使用的單詞。我會研究開關。謝謝。 – Andrew 2011-06-05 13:00:49
@Andrew告訴我你對我的答案的看法。 – 2011-06-05 13:03:51
Downvoter:爲什麼? – 2011-06-05 13:06:44