Principales respuestas
duda en el for

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 :$
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
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
-
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. -
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 -
-
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