Как избавится от 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();
        }
    }
}

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


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

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

12   голосов , оценка 4.167 из 5
Похожие ответы