Как свернуть множество вложенных 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];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д