C# 参数列表C上的返回值#
以下代码是否总是打印出3.0C# 参数列表C上的返回值#,c#,C#,以下代码是否总是打印出3.0 testVal在下面的作业中出现两次,可以吗 double calc(double a, double b) { double result = a + b; return result; } static void main() { double testVal = 1.0; double addThis = 2.0; testVal = calc(testVal, addThis); Console.WriteLine
testVal
在下面的作业中出现两次,可以吗
double calc(double a, double b)
{
double result = a + b;
return result;
}
static void main()
{
double testVal = 1.0;
double addThis = 2.0;
testVal = calc(testVal, addThis);
Console.WriteLine(testVal);
}
是的,它将始终返回3。我不知道示例顶部的
--testVal
是什么。testVal的值在calc方法中的代码运行之前复制到堆栈中。(double
是一种值类型。)在执行方法之前读取所有参数。方法完成后,返回值将复制到局部变量中。首先计算右侧,然后将值放入testVal中。有关详细信息,请参见第14.14.1节“简单分配”
对于x=y的情况,其中x是变量,y是表达式:
计算和转换y得到的值存储到计算x给出的位置
此代码似乎可以打印3.0。您必须在
calc
方法中声明变量result
。如前所述,这不会编译。@DanJ所说的是真的,或者你可以做返回a+b代码>谢谢Dan J。我添加了Double,我猜他已经习惯了使用--
进行评论的脚本语言。例如,Lua就是这样做的。