| 
	
		|  Autor | Tema: en el CLR, por que?  (Leído 4,610 veces) |  
	| 
			| 
					
						| PETTETE 
								
								 Desconectado 
								Mensajes: 127
								
								
								
								
								
								   | 
 
Hola buenas, Alguna vez ya he comentado que soy nuevo en esto del visual basic y de más; que me iba a poner a aprender y todo eso.. Empece mirando visual pero me cansé rapido. Y si, ahora he vuelto, y vengo para quedarme jajajaja he empezado a mirar otra vez y esta vez me estoy enganchando poco a poco. Pero.....como soy nuevo tengo dudas y preguntas que apra los forofos del visual serán una tonteria.(que le vamos a hacer.. nadie nace sabiendo) La pregunta de hoy us muy simple... Primero os pongo el codigo y luego os comento. For i = 0 To a.Length - 1Console.WriteLine("a(i)={0}, b(i)={1}", a(i), b(i))Next xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx For i = 0 To a.Length step 1Console.WriteLine("a(i)={0}, b(i)={1}", a(i), b(i))Next
 Bien, tenemos el mismo codigo cambiado por una palabra... el de arriba : a.length -1 el de abajo : a.length step 1 los dos hacen lo mismo pero el de abajo da error en el CLR, por que? se debe usar siempre el metodo de arriba? Un saludo de vuestro vecino y amigo, PETETE;) · Los códigos deben ir en etiquetas GeSHi
 · No se debe escribir en mayúsculas
 · Lo títulos deben ser descriptivos
 >aquí las reglas del foro
 -Engel Lex
 
 |  
						| 
								|  |  
								| « Última modificación: 31 Marzo 2017, 13:01 pm por engel lex » |  En línea | 
 
 UN SALUDO DE VUESTRO AMIGO Y VECINO,PETETE;)
 |  |  |  | 
			| 
					
						| pkj 
								
								 Desconectado 
								Mensajes: 59
								
								   | 
 
Step indica cuanto aumenta la variable i a cada vuelta.
 For i = 0 To a.Length - 1
 Hace un bucle desde 0 hasta el valor (a.length-1) de 1 en 1 porque por defecto se asume que step es 1
 i vale 0, luego vale 1, luego 2, etc... hasta i=(a.length-1)
 
 For i = 0 To a.Length step 1
 Esto hace un bucle desde 0 hasta el valor (a.length) de 1 en 1 porque tu usas el comando step para asignarle valor 1
 i vale 0, luego vale 1, luego 2, etc... hasta i=(a.length)
 
 For i = 0 To a.Length step 2
 Esto saltaria de 2 en 2
 i valdria 0, luego 2, luego 4, etc... hasta el valor mas cercano a a.length sin superarlo.
 
 Si quieres hacer un bucle al reves, donde el valor de i vaya desde a.length hasta 0, pondrias:
 For i = a.Length to 0 step -1
 
 For i = 0 To a.Length - 1
 For i = 0 To a.Length - 1 step 1
 Estas dos lineas hacen lo mismo.
 En la primera se asume que step es 1.
 En la segunda se obliga a que step sea 1 (algo que no es necesario).
 
 Saludos
 
 
 |  
						| 
								|  |  
								| « Última modificación: 31 Marzo 2017, 11:47 am por pkj » |  En línea | 
 
 |  |  |  | 
			| 
					
						| PETTETE 
								
								 Desconectado 
								Mensajes: 127
								
								
								
								
								
								   | 
 
okeeey gracias!
 pero el a.length-1 que valor sería? eso no lo entiendo..
 
 de 0 hasta que valor contaría?
 |  
						| 
								|  |  
								|  |  En línea | 
 
 UN SALUDO DE VUESTRO AMIGO Y VECINO,PETETE;)
 |  |  |  | 
			| 
					
						| pkj 
								
								 Desconectado 
								Mensajes: 59
								
								   | 
 
En primer lugar esto parece ser .NETLenght equivale a la longitud.
 La variable a puede ser una cadena de texto, una matriz (seguramente esto ultimo), o quien sabe.
 Si es una cadena de texto con el bucle for next recorres sus caracteres.
 Si es una matriz, recorres sus elementos.
 a(i) irá asumiendo el valor adecuado a cada vuelta.
 b es otra de lo mismo con la misma cantidad de elementos que a.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| PETTETE 
								
								 Desconectado 
								Mensajes: 127
								
								
								
								
								
								   | 
 
eso si entiendo, lo que no entiendo es porque se pone el -1.. no se podria poner 1? para que valla contando de 1 en 1? |  
						| 
								|  |  
								|  |  En línea | 
 
 UN SALUDO DE VUESTRO AMIGO Y VECINO,PETETE;)
 |  |  |  | 
			| 
					
						| engel lex | 
 
los array se dan por empezados en 0 y tienen tantas posiciones como indiques entonces un array de length 5 sería  internamente |_|_|_|_|_| <- 5 elementos0 1 2 3 4
cuando mueves tu apuntador hasta el 5 pasa que |x|_|_|_|_|  <- apuntador en 0
 |_|x|_|_|_|  <- apuntador en 1
 
 |_|_|x|_|_|  <- apuntador en 2
 
 |_|_|_|x|_|  <- apuntador en 3
 
 |_|_|_|_|x|  <- apuntador en 4
 
 |_|_|_|_|_|?  <- apuntador en 5
 
si que en  For i = 0 To a.Length 
 cuando i  es igual a a.Length , es decir para este caso 5, estarías como dicen en mi pueblo, "orinando fuera del perol" |  
						| 
								|  |  
								| « Última modificación: 31 Marzo 2017, 13:27 pm por engel lex » |  En línea | 
 
 El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
 |  |  |  | 
			| 
					
						| PETTETE 
								
								 Desconectado 
								Mensajes: 127
								
								
								
								
								
								   | 
 
entonces se pone -1 para que no se salga del limite ese? 
 o para que empiece a contar desde el 0?
 
 a.length -1 = 0  1  2  3  4
 
 a.length 1 = 1  2  3  4  5 ----ERROR
 
 ¿¿¿es eso?? por eso se pone el -1?
 
 un saludo de vuestro amigo (el pesado) y vecino,
 PETETE;)
 |  
						| 
								|  |  
								|  |  En línea | 
 
 UN SALUDO DE VUESTRO AMIGO Y VECINO,PETETE;)
 |  |  |  | 
			| 
					
						| engel lex | 
 
entonces se pone -1 para que no se salga del limite ese? cuenta con los dedos empezando desde 0 hasta tu cantidad de dedos de la mano (5), empieza por el pulgar (0) y ve diciendolos en voz alta... mira que pasa cuando llegas a dedos.length-1 y a dedos.length |  
						| 
								|  |  
								|  |  En línea | 
 
 El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
 |  |  |  | 
			| 
					
						| PETTETE 
								
								 Desconectado 
								Mensajes: 127
								
								
								
								
								
								   | 
 
Eso es que si no? 
 no me has respondido. si, se que si se pasa del limite da error!
 
 pero por eso se pone el -1? para que no salga del limite? o sea para que empiece a contar desde el 0 no?
 y que no llegue al 5 sino que se quede en el 4????
 |  
						| 
								|  |  
								|  |  En línea | 
 
 UN SALUDO DE VUESTRO AMIGO Y VECINO,PETETE;)
 |  |  |  | 
			| 
					
						| engel lex | 
 
pero por eso se pone el -1? para que no salga del limite? o sea para que empiece a contar desde el 0 no? y que no llegue al 5 sino que se quede en el 4????
 te estoy dando las herramientas para que lo razones tu mismo tienes For i = 0 To a.Length # YFor i = 0 To a.Length -1
 for tiene 2 argumentos For variable = primer_elemento To ultimo_elemento
 pero por eso se pone el -1? para que no salga del limite? que efecto causa el -1 en "ultimo_elemento!? cambia las variables por numeros enteros y miralo o sea para que empiece a contar desde el 0 no? que efecto causa el -1 en "primer_elemento!? cambia las variables por numeros enteros y miralo 
 y por qué te lo dejo para razonar? porque claramente si estás preguntando eso, no lo estás entendiendo, y conocimiento sin comprensión no tiene mucho sentido  |  
						| 
								|  |  
								| « Última modificación: 31 Marzo 2017, 14:06 pm por engel lex » |  En línea | 
 
 El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
 |  |  |  |  |  
 
	
   |