Чем заменить пачку операторов 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()]];