Compartilhar via


Passando parâmetros (guia de programação do 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#), check-out (referência de C#), e Passando Arrays usando ref e out (C# Programming Guide).

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:

Especificação da linguagem C#

Para obter mais informações, consulte Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.

Consulte também

Referência

Métodos (guia de programação do C#)

Conceitos

Guia de programação do C#