c# - 在这种情况下不会返回值无效吗?
问题描述
void AddOne(int x){
x += 1;
}
这不是将 x+1 的值返回给 AddOne 方法吗?如果是这样,那为什么是空呢?
解决方案
不,它增加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;
}
推荐阅读
- javascript - 这两行代码有什么区别?
- javascript - 反应不渲染类
- javascript - 如果未单击页面,为什么 onbeforeunload 不会触发?
- c# - 通过位移组合两个可变长度的字节数组
- php - 如何将数据从控制器传递到codeigniter3中的自定义钩子
- javascript - 如何在 vis.js 时间线中获取开始和结束时间?
- mysql - MYSQL - 如何使用 group by 获取每个类型字段中的最新记录
- vba - 循环隐藏工作表
- java - 仅当子字符串是整个单词时才替换字符串中的所有子字符串
- r - 如何将 PAD 函数(来自 PADR() 包)用于多个数据帧?