C sharp - explique

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado su posición en 9 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

explique

Publicado por pepe (25 intervenciones) el 30/06/2019 18:37:41
quien me podría explicar cada cosa de este fragmento de código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int count2 = 0;
 
for (int i = 0; i < panel1.Controls.Count; i++)
{
    Control item = panel1.Controls[(panel1.Controls.Count - 1) - i];
    if (((item) as PictureBox).Visible)
    {
        count2++;
 
    }
 
}
 
label1.Text = count2.ToString();
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

explique

Publicado por Agustin (171 intervenciones) el 01/07/2019 02:54:00
Ese fragmento de codigo esta escrito por alguien que no sabe C#.

En primer lugar, el (item as PictureBox).Visible va a generar un error en tiempo de ejecución si el panel1 contiene cualquier control que no sea de tipo PictureBox.

En segundo lugar, usar bucles for, ifs y "contadores" para este tipo de tareas es algo que se dejó de hacer por lo menos desde 2007 en C#.

La forma correcta de hacer eso en C# es la siguiente:

1
2
3
4
5
label1.Text =
    panel1.Controls
          .OfType<PictureBox>()
          .Count(x => x.Visible)
          .ToString();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar