Зациклить кусок кода - C#
Формулировка задачи:
Доброго времени суток. Возможно, вопрос элементарный. Возникла следующая проблема:
Требуется обработать n элементов с шаблонными именами (a0, a1, a2, a3...).
Можно ли как-то оформить название класса в виде переменной?
Как видно из примера, два switch'а практически идентичны. Посему вопрос: уверен на 99% что можно как-то зациклить это добро. Может кто подсказать как это реализовать? Принимаются любые догадки. Заранее спасибо!
switch (f.get(1))
{
case 'w': a1.BackColor = white;
break;
case 'g': a1.BackColor = green;
break;
case 'y': a1.BackColor = yellow;
break;
case 'b': a1.BackColor = blue;
break;
case 'r': a1.BackColor = red;
break;
case 'p': a1.BackColor = purpul;
break;
}
switch (f.get(2))
{
case 'w': a2.BackColor = white;
break;
case 'g': a2.BackColor = green;
break;
case 'y': a2.BackColor = yellow;
break;
case 'b': a2.BackColor = blue;
break;
case 'r': a2.BackColor = red;
break;
case 'p': a2.BackColor = purpul;
break;
}Решение задачи: «Зациклить кусок кода»
textual
Листинг программы
private Color GetColor(char value)
{
switch(value)
{
case 'w': return Colors.White;
case 'g': return Colors.Green;
case 'y': return Colors.Yellow;
case 'b': return Colors.Blue;
case 'r': return Colors.Red;
case 'p': return Colors.Purpul;
}
return Colors.Transparent;
}
...
for(int i=0;i<n;i++)
mas[i].BackColor = GetColor(f.get(i));