C#2010  函数的返回值
函数的返回值是函数内语句块运算后从函数中输出的结果,是实函数的必要组成部分。在通常情况下,当程序执行函数时,一旦执行到由return 语句构成的返回值位置时,就会自动终止函数,返回到上一级别语句块中。因此返回值也表示函数语句块的结束。
1.返回表达式
在实函数中,函数的返回值数据类型应与函数本身类型保持一致,其除了可以是一个具体的值,还可以是一个可以隐式转换为函数数据类型的表达式。例如,在下面的代码中,就编写了一个返回表达式的函数。 private static int a = 5 ,b = 7;
private static bool not()
{
return a>b;
}
在main()入口函数中通过Console.WriteLine()方法输出函数not()的值,即可获得结果False ,代码如下。
Console.WriteLine(not());//输出:False
2.分支结构的返回值
在默认状态下,函数返回值之下的所有代码都将是无效代码,不会为程序所执行。作为一种特例,如在函数中包含分支结构的语句,则每个分支下都可以有一个返回值。在这些返回值中,只有条件成立的分支中的返回值是有效返回值,其他返回值都属于无效返回值。
例如,编写一个返回数字绝对值的函数,通过if …语句对数字的值进行判断,如大于等于0,则返回数字本身,如小于0,则返回数字的相反数,代码如下。 private
static double abs(double n)
{
if (n >= 0)
return n;
else
return -n;
}
上面的语句中,if …语句采用了一种特殊的省略写法。当if …语句中的每个分支语句块只有1行时,C#允许省略大括号“{}”。
在上面的代码中,就出现了两个return语句,返回了两个不同的值。然而由于这两个返回值分别处于条件语句的两个分支中,因此,只有条件成立的分支中的返回值才是有效返回值。例如,参数n的值为15,则第一个return语句为有效的返回语句等。
在使用分支结构返回函数值时,还需要注意各分支结构必须有严密的逻辑关系,即各分支必须覆盖条件的所有范围,不能有遗漏的情况。尤其在if…else if…语句和switch…case语句中,应防止因不符合所有条件判断而导致实函数无返回值的情况发生。例如,在下面的代码中,如参数为0,则将报错。
private static double abs(double n)
{
if (n > 0)
return n;
else if (n < 0)
return -n;
}
在上面的代码中变量n可能有三种情况,即大于0、等于0和小于0,但是在if…else if…语句中仅考虑到了其中的两种情况,因此如变量n等于0,则Visual Studio 会报出“并非所有的代码路径都返回值”的错误。
3.虚函数的返回writeline输出数值变量
虚函数是没有返回值的。但在编写虚函数时,同样可以使用return语句实现返回。需要注意的是,虚函数的return语句后面不需要跟随一个具体的值,例如,在下面的一个虚函数中,就是用了return语句,代码如下。
private static void floor(double n)
{
i=(int)n;
return;
}
在虚函数中使用return语句将立即强制中断当前函数的执行,返回上一级别语句块。在return语句之后执行的代码将不会起作用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。