CLR: .Net / Mono / Boo / Otros CLR > C#
Como crear un arreglo publico
eltruhanero:
--- Cita de: "Jeysscarr" ---
--- Código: C# --- Public Metodo(int[] objetos){ .....}//lo cual crea una copia nueva de este arreglo unica para el metodo.... es decir, que si lo manipulas aqui en el metodo cambiandole valores y demas, cuando salgas de él, en la clase principal no habrá variado debido a lo que mandaste fue una copia..
--- Fin de la cita ---
Eso no es del todo correcto.
Lo que se pasa al metodo es una copia del puntero a estructura de datos. Si se modifica por ejemplo una posicion del array, ese cambio se ve reflejado cuando se salga del metodo, pero si se asigna a la variable otra estructura de datos, ese cambio no se ve reflejado cuando se salga del metodo ( si se ve reflejado si se usa ref).
Ejemplo:
--- Código: C# --- public static void Main() { int [] a = new int[123]; a[0] = 123; a[5] = 0; am(a); // Aca a[5] vale 1324 y no 0 } public static void am(int[] a1) { a1[5] = 1324; }
Saludos, Daniel
Jeysscarr:
--- Cita de: "eltruhanero" ---
Eso no es del todo correcto.
Lo que se pasa al metodo es una copia del puntero a estructura de datos. Si se modifica por ejemplo una posicion del array, ese cambio se ve reflejado cuando se salga del metodo, pero si se asigna a la variable otra estructura de datos, ese cambio no se ve reflejado cuando se salga del metodo ( si se ve reflejado si se usa ref).
--- Fin de la cita ---
Gracias por la aclaración, siempre es importantisimo tener la autonomia de tu código y para hacerlo nada mejor que entender bien como se comportan tus varables.
Navegación
[*] Página Anterior
Ir a la versión completa