Страницы

Поиск по вопросам

среда, 10 апреля 2019 г.

Как укоротить метод? с#

Как можно укоротить этот метод? В зависимости от входящего значения он отмечает чекбоксы.
private void CheckB(int i) { switch (i) { case 0: c1.Checked = true; return; case 1: c2.Checked = true; return; case 2: c3.Checked = true; return; case 3: c4.Checked = true; return; case 4: c5.Checked = true; return; case 5: c6.Checked = true; return; case 6: c7.Checked = true; return; case 7: c8.Checked = true; return; case 8: c9.Checked = true; return; case 9: c10.Checked = true; return; case 10: c11.Checked = true; return; case 11: c12.Checked = true; return; }


Ответ

Можно поместить чекбоксы в массив:
private readonly CheckBox[] checkBoxes;
В конструкторе (после InitializeComponent();) создаем массив:
checkBoxes = new[] { c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12 };
Тогда ваш метод будет выглядеть так:
private void CheckB(int i) { if (i >= 0 && i < checkBoxes.Length) checkBoxes[i].Checked = true; }

Комментариев нет:

Отправить комментарий