Как избавится от switch case? - C#
Формулировка задачи:
Как избавится от большого swich case
допустим вот такой, хотя у меня он намного больше.
Может можно с помощью списков?
Листинг программы
- switch (ScKspeed)
- {
- case 128:
- ConfigString[0] = "8_MHz";
- break;
- case 0:
- ConfigString[0] = "4_MHz";
- break;
- case 129:
- ConfigString[0] = "2_MHz";
- break;
- case 1:
- ConfigString[0] = "1_MHz";
- break;
- case 130:
- ConfigString[0] = "500_KHz";
- break;
- case 3:
- ConfigString[0] = "125_KHz";
- break;
- default:
- ConfigString[0] = "1_MHz";
- break;
- }
Решение задачи: «Как избавится от switch case?»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- namespace ConsoleApplication3
- {
- internal class Program
- {
- private static void Main(string[] args)
- {
- var dic = new Dictionary<int, string> {{1, "one"}, {2, "two"}, {3, "three"}};
- // значение ключ которого мы хотим найти
- const string FIND_VALUE = "one";
- // ключ
- // int? тип который может принимать значение null
- int? key = null;
- // ищем ключ в цикле
- // если нескольким ключам соответствуют одинаковые значения, будет выбран первый
- foreach (var d in dic.Keys)
- {
- if (dic[d] == FIND_VALUE)
- {
- key = d;
- break;
- }
- }
- // если ключ был найден
- if (key != null)
- {
- Console.WriteLine(Convert.ToString(key));
- }
- // если совпадения не было
- else
- {
- Console.WriteLine("key not found");
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д