Pasar parámetros (Guía de programación de C#)
En C#, los argumentos se pueden pasar a parámetros por valor o por referencia. El paso de parámetros por referencia permite a los miembros de funciones, métodos, propiedades, indizadores, operadores y constructores cambiar el valor de los parámetros y hacer que ese cambio persista en el entorno que procede de la llamada. Para pasar un parámetro por referencia, utilice una de las palabras clave ref o out. En los ejemplos de este tema, para simplificar, sólo se utiliza la palabra clave ref. Para obtener más información sobre la diferencia entre ref y out, vea ref (Referencia de C#), out (Referencia de C#) y Pasar matrices mediante Ref y Out (Guía de programación de C#).
En el ejemplo siguiente se muestra la diferencia entre valor y parámetros de referencia.
class Program
{
static void Main(string[] args)
{
int arg;
// Passing by value.
// The value of arg in Main is not changed.
arg = 4;
squareVal(arg);
Console.WriteLine(arg);
// Output: 4
// Passing by reference.
// The value of arg in Main is changed.
arg = 4;
squareRef(ref arg);
Console.WriteLine(arg);
// Output: 16
}
static void squareVal(int valParameter)
{
valParameter *= valParameter;
}
// Passing by reference
static void squareRef(ref int refParameter)
{
refParameter *= refParameter;
}
}
Para obtener más información, vea los temas siguientes:
Pasar parámetros de tipo de valor (Guía de programación de C#)
Pasar parámetros Reference-Type (Guía de programación de C#)
Especificación del lenguaje C#
Para obtener más información, vea la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.
Vea también
Referencia
Métodos (Guía de programación de C#)