Как свернуть множество вложенных if-else без тернарного оператора - C#
Формулировка задачи:
Сейчас имеется код такого типа:
Кто-нибудь знает, как его можно красиво свернуть без тернарного оператора (ибо будет жутко)
if (useUpper) { if (useDigits) { if (useSymbols) { multiplier = 2.014; } else { multiplier = 1.697; } } else { if (useSymbols) { multiplier = 1.712; } else { multiplier = 1.47; } } } else { if (useDigits) { if (useSymbols) { multiplier = 1.792; } else { multiplier = 1.409; } } else { if (useSymbols) { multiplier = 1.309; } else { multiplier = 1.208; } } }
Решение задачи: «Как свернуть множество вложенных if-else без тернарного оператора»
textual
Листинг программы
double[] list = new double[] { 1.208, 1.309, 1.409, 1.792, 1.47, 1.712, 1.697, 2.014 }; int index = ((useUpper ? 1 : 0) << 2) + ((useDigits ? 1 : 0) << 1) + (useSymbols ? 1 : 0); multiplier = list[index];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д