C#输出参数vs返回值

所以我是C#的新手,我很难理解.而不是从函数返回一些东西
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();
     }
}

一个是我一般来做的.有没有理由为什么我可能想使用而不是只是一个return语句?我明白ref允许进行双向通信,而且我通常不要使用ref,除非该函数正在使用我发送的变量做某事.

然而,out和return语句之间有区别,如上所示?语法上有理由赞成一个或另一个

解决方法

对于结果而言,使用out而不是返回的好方法是可以在某些API中看到的Try模式,例如Int32.TryParse(…).在这种模式下,返回值用于表示操作的成功或失败(与异常相反),out参数用于返回实际结果.

Int32.Parse的优点之一是速度快,因为避免了异常.另一个问题已经提出了一些基准:Parsing Performance (If,TryParse,Try-Catch)

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么