C # out-Parameter vs gibt zurück

Ich bin neu in C # und habe Probleme beim Verstehenout. Im Gegensatz dazu, einfach etwas von einer Funktion zurückzugeben

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);
    } 
 }

vergleiche damit

 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();
     }
}

Die erste ist, wie ich es allgemein machen würde. Gibt es einen Grund, warum ich verwenden möchteout statt nur einer return aussage? ich verstehe dasref ermöglicht 2-Wege-Kommunikation, und das sollte ich im Allgemeinen nicht verwendenref Wenn die Funktion nichts mit der Variablen macht, sende ich sie.

Gibt es jedoch einen Unterschied zwischen out- und return-Anweisungen, wie oben gezeigt? Syntaxmäßig gibt es einen Grund, den einen oder anderen zu bevorzugen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage