none
duda en el for RRS feed

  • Pregunta

  • por decir tengo un arreglo de 10 elementos
    dim arr(9) as integer
    para recorrerlo tengo que:
    for cont as integer = 0 to arr.length - 1
    writeline(arr(cont))
    next
    porque se le resta uno al length si se supone ke length tiene el num 9 y si lo deberia de aser no?
    que alguien me explique :$
    martes, 9 de marzo de 2010 21:27

Respuestas

  • Porque si contas, de 0 a 9 tenés los 10 elementos que querés. El arr.lenght te devuelve 10, y si vas de 0 a 10 vas a tener 11 elementos, y cuando cont tome el valor de 10 te va a tirar error, ya que no existe la posición 10 (o sea, el elemento 11).
    Gabriela
    • Marcado como respuesta fabiola_902 miércoles, 10 de marzo de 2010 7:40
    martes, 9 de marzo de 2010 22:11

Todas las respuestas

  • Porque si contas, de 0 a 9 tenés los 10 elementos que querés. El arr.lenght te devuelve 10, y si vas de 0 a 10 vas a tener 11 elementos, y cuando cont tome el valor de 10 te va a tirar error, ya que no existe la posición 10 (o sea, el elemento 11).
    Gabriela
    • Marcado como respuesta fabiola_902 miércoles, 10 de marzo de 2010 7:40
    martes, 9 de marzo de 2010 22:11
  • hola pareceria logico lo que se hace..

    pero el arreglo ya tiene 10..por tanto si vas de 0 a 10 son 11 en realidad....

    y por eso restas -1 ...

    es decir antes de nada tu declaras con 9 ..y claro estan 10 ...ahora la propiedad length ya tiene 10 y luego si vas de 0 a .length son 11 ...

    cualquier duda nos comentas...
    Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador.
    martes, 9 de marzo de 2010 22:18
  • hola

    bueno Gabiela y Pablo ya te an explicado el porque de lo que has preguntado,
    pero igual solo hago un adicional, recuerda que los array son base cero, esto es importante para empezar a contar los indices de cada posicion


    otro consejo el For Each es mas comodo

    For Each item As Integer In arr

       Console.WriteLine(item)

    Next

    como veras en este caso te olvidas de las posiciones y los indices del vector, lo recorres de form mas natural

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 10 de marzo de 2010 3:43
  • muchas gracias a todos por resolver mi duda =D... me quedo muy claro ya lo probe mandando imprimir el length y de hecho me devuelve 10..
    Gracias!
    miércoles, 10 de marzo de 2010 7:41
  • hola... gracias por explicarme el for each.. no lo tenia muy claro.. gracias
    • Propuesto como respuesta dj lions king viernes, 25 de marzo de 2011 20:48
    miércoles, 10 de marzo de 2010 7:41