Чем заменить пачку операторов if - C#

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

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

В программе есть два listbox и picturebox. Исходя из выборанных в лб пунктов, в пб подается соответствующее изображение из imagelist. Выглядит это примерно так:
            if (listBox1.SelectedItem.ToString() == "C#" & listBox2.SelectedItem.ToString() == "*")
            {
                pictureBox1.Image = imageList2.Images[0];
            }
            if (listBox1.SelectedItem.ToString() == "C#" & listBox2.SelectedItem.ToString() == "5")
            {
                pictureBox1.Image = imageList2.Images[1];
            }
            if (listBox1.SelectedItem.ToString() == "C#" & listBox2.SelectedItem.ToString() == "m")
            {
                pictureBox1.Image = imageList2.Images[2];
            }
тк в программе таких операторов будет около 500, то назревает вопрос, можно ли и как можно упростить/заменить эти операторы?

Решение задачи: «Чем заменить пачку операторов if»

textual
Листинг программы
Dictionary<string, int> dictionary = new Dictionary<string, int>(){
            {"*",0},{"5",1},{"m",2}};
 
            if (listBox1.SelectedItem.ToString() == "C#")
                pictureBox1.Image = imageList2.Images[dictionary[listBox2.SelectedItem.ToString()]];

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


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

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

13   голосов , оценка 4.385 из 5