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