在这种情况下不会无效的返回值吗?

时间:2019-12-04 22:08:39

标签: c#

void AddOne(int x){
        x += 1;
}

这不是将x + 1的值返回给AddOne方法吗? 如果是这样,那为什么是空的?

1 个答案:

答案 0 :(得分:3)

否,它将x递增1,但不返回任何内容。

尝试致电:

int value = AddOne(1);

它不会编译。

您需要声明一个返回类型,即int并使用return关键字。

int AddOne(int x)
{
    return x += 1;
}

尽管您可能会与+=运算符感到困惑,该运算符会在适当的位置增加一个现有变量,但与返回值无关。

以上内容实际上与以下内容相同:

int AddOne(int x)
{
    x += 1;
    return x;
}

为避免混淆,您最好执行以下操作:

int AddOne(int x)
{
    return x + 1;
}