C # out параметры против возврата

Так что я новичок в C #, и мне трудно понятьout, В отличие от простого возврата чего-либо из функции

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

сравнить с этим

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

Первый - как бы я это сделал? Есть ли причина, по которой я могу использоватьout вместо того, чтобы просто вернуть заявление? Я это понимаюref допускает двухстороннюю связь, которую я обычно не должен использоватьref если функция не делает что-то с переменной, которую я отправляю.

Однако есть ли разница между операторами out и return, как показано выше? Синтаксически есть ли причина отдать предпочтение одному или другому?

Ответы на вопрос(5)

Ваш ответ на вопрос