out (Referência de C#)
Você pode usar a palavra-chave out
em dois contextos:
Como um modificador de parâmetro, que permite passar um argumento para um método por referência, não por valor.
Em declarações de parâmetro de tipo genérico para interfaces e representantes, que especificam que um parâmetro de tipo é covariante.
A palavra-chave out
é especialmente útil quando um método precisa retornar mais de um valor, pois mais de um parâmetro out
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 se aplicam 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 parâmetros
out
.
Colaborar conosco no GitHub
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.