Как избавится от switch case? - C#

Узнай цену своей работы

Формулировка задачи:

Как избавится от большого swich case допустим вот такой, хотя у меня он намного больше. Может можно с помощью списков?
Листинг программы
  1. switch (ScKspeed)
  2. {
  3. case 128:
  4. ConfigString[0] = "8_MHz";
  5. break;
  6. case 0:
  7. ConfigString[0] = "4_MHz";
  8. break;
  9. case 129:
  10. ConfigString[0] = "2_MHz";
  11. break;
  12. case 1:
  13. ConfigString[0] = "1_MHz";
  14. break;
  15. case 130:
  16. ConfigString[0] = "500_KHz";
  17. break;
  18. case 3:
  19. ConfigString[0] = "125_KHz";
  20. break;
  21. default:
  22. ConfigString[0] = "1_MHz";
  23. break;
  24. }

Решение задачи: «Как избавится от switch case?»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace ConsoleApplication3
  5. {
  6.     internal class Program
  7.     {
  8.         private static void Main(string[] args)
  9.         {
  10.             var dic = new Dictionary<int, string> {{1, "one"}, {2, "two"}, {3, "three"}};
  11.             // значение ключ которого мы хотим найти
  12.             const string FIND_VALUE = "one";
  13.             // ключ
  14.             // int? тип который может принимать значение null
  15.             int? key = null;
  16.             // ищем ключ в цикле
  17.             // если нескольким ключам соответствуют одинаковые значения, будет выбран первый
  18.             foreach (var d in dic.Keys)
  19.             {
  20.                 if (dic[d] == FIND_VALUE)
  21.                 {
  22.                     key = d;
  23.                     break;
  24.                 }
  25.             }
  26.             // если ключ был найден
  27.             if (key != null)
  28.             {
  29.                 Console.WriteLine(Convert.ToString(key));
  30.             }
  31.                 // если совпадения не было
  32.             else
  33.             {
  34.                 Console.WriteLine("key not found");
  35.             }
  36.             Console.ReadKey();
  37.         }
  38.     }
  39. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы