我很难理解返回声明究竟在做什么。例如,在这种方法中......
public int GivePoints(int amount)
{
Points -= amount;
return amount;
}
即使我在返回后放置任何随机整数,GivePoints方法仍然完全相同。那么return语句在做什么呢?
答案 0 :(得分:6)
返回将在调用时退出该函数。因此,返回声明下面的任何内容都不会被执行。
基本上,return
表示函数应该执行的任何操作都已执行,并将此操作的结果传递回调用者(如果适用)。
答案 1 :(得分:4)
return
将从当前方法返回到调用者的控制,并且还传回与其一起发送的任何参数。在您的示例中,GivePoints
被定义为返回一个整数,并接受一个整数作为参数。在您的示例中,返回的值实际上与参数值相同。
在此示例中,代码中用于调用已定义方法GivePoints
的其他位置使用返回值。
int currentPoints = GivePoints(1);
意味着currentPoints
被赋值为1。
这可以归结为GivePoints
被评估。 GivePoints
的评估基于该方法返回的内容。 GivePoints
返回输入,因此GivePoints
将在上例中评估为1。
答案 2 :(得分:1)
Return
将始终退出(离开)函数,返回后的任何内容都不会执行。
返回示例:
public int GivePoints(int amount)
{
Points -= amount;
return; //this means exit the function now.
}
返回变量示例:
public int GivePoints(int amount)
{
Points -= amount;
return amount; //this means exit the function and take along 'amount'
}
返回一个变量示例并捕获返回的变量:
public int GivePoints(int amount)
{
Points -= amount;
return amount; //this means exit the function and take along 'amount'
}
int IamCatchingWhateverGotReturned = GivePoints(1000); //catch the returned variable (in our case amount)
答案 3 :(得分:0)
在您的示例中,该函数返回您发送给它的确切数字。在这种情况下,无论您传递给amount
的任何值。因此,当前代码中的返回有点无意义。
所以在你的例子中:
int x = GivePoints(1000);
x等于1000
答案 4 :(得分:0)
只是猜测你原来的目标
public int GivePoints(int amount)
{
Points -= amount;
return Points;
}
所以return将返回Points的更新值
如果不是这种情况,代码应为
public void GivePoints(int amount)
{
Points -= amount;
}