Чем заменить пачку операторов if - C#
Формулировка задачи:
В программе есть два listbox и picturebox.
Исходя из выборанных в лб пунктов, в пб подается соответствующее изображение из imagelist.
Выглядит это примерно так:
тк в программе таких операторов будет около 500, то назревает вопрос, можно ли и как можно упростить/заменить эти операторы?
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]; }
Решение задачи: «Чем заменить пачку операторов 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()]];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д