CLR: .Net / Mono / Boo / Otros CLR > C#

 Como crear un arreglo publico

<< < (2/2)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa