Pasar Variables por Referencia en C#

Los parámetros que pasamos a una función los podemos pasar por valor o por referencia. El paso por valor es el que se utiliza por defecto cuando programamos en el lenguaje C#, simplemente pasamos la variable y en la definición de la función la añadimos con el tipo de variable que es. Por ejemplo:
Llamada:

miFuncion(pValor);

Definición:

public void miFuncion(int pValor)
{
    //Nuestro código
}

En el caso de que queramos hacer esa llamada pasando los parámetros por referencia, simplemente debemos hacer una pequeña modificación en el código anterior (añadiendo ref o out). Por ejemplo:
Llamada:

miFuncion(ref pValor);

Definición:

public void miFuncion(ref int pValor)
{
    //Nuestro código
}

En este caso hemos utilizado ref, pero podríamos haber utilizado out. La diferencia entre ambos es que si usamos ref debemos tener la variable que pasemos inicializada y en out no. Es importante tener en cuenta que siempre deben tener el mismo tipo de referencia (tanto la llamada como la definición).
Para más información:
Parámetros por valor/referencia: http://msdn.microsoft.com/es-es/library/0f66670z(v=vs.80).aspx
Ref: http://msdn.microsoft.com/es-es/library/14akc2c7(v=vs.80).aspx
Out: http://msdn.microsoft.com/es-es/library/t3c3bfhx(v=vs.80).aspx

Categories:

C#

2 Responses

  1. Daniel says:

    Hola.
    Justamente estoy estudiando los métodos en c# y tú articulo me fue de mucha ayuda.-

Leave a Reply to Daniel Cancel reply

Your email address will not be published. Required fields are marked *