Я пытаюсь сопоставить определенную скорость ветра (измеренную в метрах в секунду) с соответствующей меткой, взятой из http://www.windfinder.com/wind/windspeed.htm. Для этого я хотел бы использовать switch statements
, однако я не уверен, как это сделать в C#
.Использование оператора switch для диапазонов
В ActionScript
, возможно использование блоков переключателей, я также видел его в Clang
.
// ActionScript 3
switch(true) {
case: mps >= 0 && <= 0.2
return WindSpeedLabel.Calm; break;
...
case else:
WindSpeedLabel.ShitHittingTheFan;
}
// Clang
switch(mps) {
case 0 ... 0.2:
return WindSpeedLabel.Calm;
...
Я знаю, что это возможно с помощью if/else statements
, однако около 13 различных диапазонов, я хотел бы получить более читаемым решение.
«Обратите внимание, что приведенный выше код не использует минимальный диапазон после первого утверждения»? Что ты хочешь этим сказать? Какие значения могут потерпеть неудачу? – Acrotygma
Я обновлю ответ – David