我很难理解 return 语句到底在做什么。例如,在这种方法中...
public int GivePoints(int amount)
{
Points -= amount;
return amount;
}
即使我在返回后放置任何随机整数,GivePoints 方法仍然会做同样的事情。那么 return 语句在做什么呢?
我很难理解 return 语句到底在做什么。例如,在这种方法中...
public int GivePoints(int amount)
{
Points -= amount;
return amount;
}
即使我在返回后放置任何随机整数,GivePoints 方法仍然会做同样的事情。那么 return 语句在做什么呢?
Return 将在调用时退出该函数。因此, return 语句下方的任何内容都不会被执行。
基本上,return
表明该函数应该执行的任何操作都已执行,并将此操作的结果传回(如果适用)给调用者。
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)
return
将控制权从当前方法返回给调用者,并将随它一起发送的任何参数传回。在您的示例中,GivePoints
定义为返回一个整数,并接受一个整数作为参数。在您的示例中,返回的值实际上与参数值相同。
GivePoints
在此示例中,从调用定义方法的代码中的其他位置使用返回值。
int currentPoints = GivePoints(1);
意味着它currentPoints
被赋值为 1。
这分解为GivePoints
被评估。的评估GivePoints
基于方法返回的内容。GivePoints
返回输入,因此GivePoints
在上面的示例中将评估为 1。
只是对您最初目标的猜测
public int GivePoints(int amount)
{
Points -= amount;
return Points;
}
所以 return 将返回 Points 的更新值
如果这不是你的情况,代码应该是
public void GivePoints(int amount)
{
Points -= amount;
}
在您的示例中,该函数正在返回您发送给它的确切数字。在这种情况下,您传递的任何值都是amount
. 因此,您当前代码中的返回有点毫无意义。
所以在你的例子中:
int x = GivePoints(1000);
x 将等于 1000