返回语句在C#中究竟做了什么?

时间:2013-03-06 02:01:58

标签: c# return return-value return-type

我很难理解返回声明究竟在做什么。例如,在这种方法中......

    public int GivePoints(int amount)
    {
        Points -= amount;
        return amount;
    }

即使我在返回后放置任何随机整数,GivePoints方法仍然完全相同。那么return语句在做什么呢?

5 个答案:

答案 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;
}