Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 参数列表C上的返回值#_C# - Fatal编程技术网

C# 参数列表C上的返回值#

C# 参数列表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

以下代码是否总是打印出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);
}

是的,它将始终返回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就是这样做的。