簡単な質問です。たとえば、オプションが 1000 までのかなり大きなケースで作業する場合: どれが「最良の」方法ですか? 私は特に、より速い結果を望んでいるわけではありません。
switch (foo) {
case 0:
// code ...
break;
// One, two, skip a few...
case 1000:
// code ...
}
または、可能な結果を分割して、適切なケースステートメントをすばやく見つけることができるもの。同様に:
if (foo < 101) {
if (foo < 51)
switch (foo) {}
else
switch (foo) {}
} else if (foo > 100 && foo < 201) {
// skipped for convenience
} else if (foo > 900) {
if (foo < 951)
switch (foo) {}
else
switch (foo) {}
}
数値が大きい場合は 2 番目の方法の方がはるかに高速だと思いますが、ステートメントを常にチェックしているわけではないため、最初の方法でも簡単に処理できるようです。これらの方法の 1 つが嫌われていますか、それともより良い方法がありますか? これは C の場合ですが、他の言語との整合性を知りたいです。ありがとう!