Partilhar via


out (Referência C#)

Você pode usar a out palavra-chave em dois contextos:

  • Como um modificador de parâmetro, que permite passar um argumento para um método por referência em vez de por valor.

  • Em declarações genéricas de parâmetros de tipo para interfaces e delegados, que especifica que um parâmetro de tipo é covariante.

A out palavra-chave é especialmente útil quando um método precisa retornar mais de um valor, uma vez que mais de um out parâmetro pode ser usado, por exemplo:

    public void Main()
    {
        double radiusValue = 3.92781;
        //Calculate the circumference and area of a circle, returning the results to Main().
        CalculateCircumferenceAndArea(radiusValue, out double circumferenceResult, out var areaResult);
        System.Console.WriteLine($"Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.");
        System.Console.WriteLine($"Area of a circle with a radius of {radiusValue} is {areaResult}.");
        Console.ReadLine();
    }

    //The calculation worker method.
    public static void CalculateCircumferenceAndArea(double radius, out double circumference, out double area)
    {
        circumference = 2 * Math.PI * radius;
        area = Math.PI * (radius * radius);
    }

As seguintes limitações aplicam-se ao uso da out palavra-chave:

  • out parâmetros não são permitidos em métodos assíncronos.
  • out parâmetros não são permitidos em métodos iteradores.
  • As propriedades não podem ser passadas como out parâmetros.