C # out parâmetros vs retornos
Então eu sou novo em C # e estou tendo dificuldade em entenderout
. Ao contrário de apenas retornar algo de uma função
using System;
class ReturnTest
{
static double CalculateArea()
{
double r=5;
double area = r * r * Math.PI;
return area;
}
static void Main()
{
double output = CalculateArea();
Console.WriteLine("The area is {0:0.00}", output);
}
}
comparar com isso
using System;
class ReturnTest
{
static void CalculateArea(out double r)
{
r=5;
r= r * r * Math.PI;
}
static void Main()
{
double radius;
CalculateArea(out radius);
Console.WriteLine("The area is {0:0.00}",radius );
Console.ReadLine();
}
}
O primeiro é como eu geralmente faria isso. Existe uma razão pela qual eu possa querer usarout
em vez de apenas uma declaração de retorno? Eu entendi aquiloref
permite comunicação de 2 vias, e que eu geralmente não deveria usarref
a menos que a função esteja fazendo algo com a variável que estou enviando.
No entanto, há uma diferença entre as declarações de saída e de retorno, como mostrado acima? Sintaxe existe uma razão para favorecer um ou outro?