Как навести порядок в c# коде?

Какую альтернативу можно подобрать данному фрагменту кода?
Например, с помощью нехитрого цикла?

label24.Visible = false;
            label25.Visible = false;
            label26.Visible = false;
            label27.Visible = false;
            label28.Visible = false;
            label29.Visible = false;
            label30.Visible = false;
            label32.Visible = false;
            label33.Visible = false;
            label34.Visible = false;
            label35.Visible = false;
            label36.Visible = false;
            label37.Visible = false;
  • Вопрос задан
  • 636 просмотров
Решения вопроса 1
@LiptonOlolo
2 самых простейших варианта:

public partial class Form1 : Form
{
	List<Label> Labels { get; }

	public Form1()
	{
		InitializeComponent();

		//1 Вариант: Коллекция со всеми нужными лейблами.

		//Обратите внимание, что используются сами КОНТРОЛЫ, а НЕ их ИМЕНА.
		Labels = new List<Label> { label1, label2, label3, label4, label5, label6, label7, label8, label9, label10, label11, label12, label13, label14, label15, label16 };

		Labels.ForEach(x => x.Visible = true);
		Labels.ForEach(x => x.Visible = false);

		//2 Вариант: Перебор ВСЕХ(!) контролов на форме.

		foreach (var item in Controls)
			if (item is Label)
				((Label)item).Visible = true;

		foreach (var item in Controls)
			if (item is Label)
				((Label)item).Visible = false;
	}
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы