Passando parâmetros (Guia de Programação em C#)
Em C#, podem ser passados argumentos aos parâmetros por valor ou por referência. Passagem por referência permite que membros da função, métodos, propriedades, indexadores, operadores e construtores para alterar o valor dos parâmetros e fazer essa alteração persistirem no ambiente de chamada. Para passar um parâmetro por referência, use o ref ou out palavra-chave. Para simplificar, apenas o ref palavra-chave é usada nos exemplos neste tópico. Para obter mais informações sobre a diferença entre ref e out, consulte ref (Referência de C#), out (Referência de C#), e Passando matrizes com o uso de ref e out (Guia de Programação em C#).
O exemplo a seguir ilustra a diferença entre os parâmetros de referência e valor.
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 obter mais informações, consulte os seguintes tópicos:
Passando parâmetros de tipo de valor (Guia de Programação em C#)
Passando parâmetros de tipo de referência (Guia de Programação em C#)
Especificação da linguagem C#
Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Métodos (Guia de Programação em C#)