Parámetros C # out vs devoluciones
Así que soy nuevo en C # y tengo dificultades para entenderout
. A diferencia de simplemente devolver algo de una función
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);
}
}
compara con esto
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();
}
}
El primero es cómo lo haría generalmente. ¿Hay alguna razón por la que quiera usar?out
en lugar de sólo una declaración de retorno? Entiendo queref
permite la comunicación bidireccional, y que generalmente no debería usarref
a menos que la función esté haciendo algo con la variable que la estoy enviando.
Sin embargo, ¿hay alguna diferencia entre las declaraciones de devolución y de devolución, como se muestra arriba? Sintaxis: ¿hay alguna razón para favorecer a uno u otro?