CLR: .Net / Mono / Boo / Otros CLR > C#

 No Me Recorre El For

(1/1)

SCM_24:
A ver si sabeis por que no me recorre el for, no entra, y no se muy bien a que se debe, ya que no me muestra los datos porque no entra en el for, gracias


case 2:
               {
                  Console.WriteLine("Añadir Habitacion");
                  ArrayList K = new ArrayList ();
                  Habitacion P = new Habitacion();
                  P.Nombre = "Cuarto de Baño";
                  P.Pared = 2;
                  P.Puertas=10;
                  P.Ventanas=1;
                  P.TipoPintura=2;

                  K.Add (P);

                  P = new Habitacion();
                  P.Nombre = "hghjghjgjh";
                  P.Pared = 2;
                  P.Puertas=10;
                  P.Ventanas=1;
                  P.TipoPintura=2;

                  K.Add (P);
                  //Habitacion.ImprimirPersonas (K);
                  //K.RemoveAt (1);
                  for (int i=0 ; i<=K.Count; i++)
                  {
                     //Habitacion P = (Habitacion) K;
                     Console.WriteLine ("{0} - {1} - {2} - {3} - {4} - {5} ", P.Nombre, P.Pared, P.Puertas, P.Ventanas, P.TipoPintura);
                  }                  break;
               }

JuanK:

--- Código: Text --- case 2:          {            Console.WriteLine(&#34;Añadir Habitacion&#34;);            ArrayList K = new ArrayList ();            Habitacion P = new Habitacion();            P.Nombre = &#34;Cuarto de Baño&#34;;            P.Pared = 2;            P.Puertas=10;            P.Ventanas=1;            P.TipoPintura=2;             K.Add (P);             P = new Habitacion();            P.Nombre = &#34;hghjghjgjh&#34;;            P.Pared = 2;            P.Puertas=10;            P.Ventanas=1;            P.TipoPintura=2;             K.Add (P);            //Habitacion.ImprimirPersonas (K);            //K.RemoveAt (1);            for (int i=0&#59; i&#60;=K.Count; i++)            {              //Habitacion P = (Habitacion) K[i];              Console.WriteLine (&#34;{0} - {1} - {2} - {3} - {4} &#34;, P.Nombre, P.Pared, P.Puertas, P.Ventanas, P.TipoPintura);            }            break;          } 
prueba asi.

Amilius:

--- Cita de: "SCM_24" --- for (int i=0 ; i<=K.Count; i++)
{
//Habitacion P = (Habitacion) K;
--- Fin de la cita ---
1. Te aconsejo leer un manual de estilo de programacion, esos nombres de variables que usas solo te pueden llevar al desastre.

2. El ciclo for esta mal limitado, debe ser "<" al numero de elementros  y nunca "<=" al numero de elementos, recuerda que existe el cero.

3. En lugar de  esto:
//Habitacion P = (Habitacion) K;

es:

P = (Habitacion) K;

4. En esos casos donde de todos modos haras una asignacion igual a la anterior es mejor utilizar un foreach.

Navegación

[0] Índice de Mensajes

Ir a la versión completa