首页 > 解决方案 > 在这种情况下不会返回值无效吗?

问题描述

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

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

标签: c#

解决方案


不,它增加x1 但不返回任何内容。

尝试调用:

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

推荐阅读