• Miércoles 20 de Noviembre de 2024, 14:22

Autor Tema:  No Me Recorre El For  (Leído 1155 veces)

SCM_24

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
No Me Recorre El For
« en: Miércoles 8 de Febrero de 2006, 03:22 »
0
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

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: No Me Recorre El For
« Respuesta #1 en: Miércoles 8 de Febrero de 2006, 04:57 »
0
Código: Text
  1.  
  2. case 2:
  3.           {
  4.             Console.WriteLine(&#34;Añadir Habitacion&#34;);
  5.             ArrayList K = new ArrayList ();
  6.             Habitacion P = new Habitacion();
  7.             P.Nombre = &#34;Cuarto de Baño&#34;;
  8.             P.Pared = 2;
  9.             P.Puertas=10;
  10.             P.Ventanas=1;
  11.             P.TipoPintura=2;
  12.  
  13.             K.Add (P);
  14.  
  15.             P = new Habitacion();
  16.             P.Nombre = &#34;hghjghjgjh&#34;;
  17.             P.Pared = 2;
  18.             P.Puertas=10;
  19.             P.Ventanas=1;
  20.             P.TipoPintura=2;
  21.  
  22.             K.Add (P);
  23.             //Habitacion.ImprimirPersonas (K);
  24.             //K.RemoveAt (1);
  25.             for (int i=0&#59; i&#60;=K.Count; i++)
  26.             {
  27.               //Habitacion P = (Habitacion) K[i];
  28.               Console.WriteLine (&#34;{0} - {1} - {2} - {3} - {4} &#34;, P.Nombre, P.Pared, P.Puertas, P.Ventanas, P.TipoPintura);
  29.             }
  30.             break;
  31.           }
  32.  

prueba asi.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: No Me Recorre El For
« Respuesta #2 en: Miércoles 15 de Febrero de 2006, 18:19 »
0
Cita de: "SCM_24"
for (int i=0 ; i<=K.Count; i++)
{
//Habitacion P = (Habitacion) K;
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.