作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在递归函数
上遇到可选参数
的问题
这是一个示例代码:
private static void RecursiveFunction(int x, int optional = 0)
{
if (x < 5)
RecursiveFunction(x + 1, optional++);
}
调用函数时:
RecursiveFunction(0);
我得到了以下结果(只需在即时窗口中调用此代码 string.Format("{0} - {1}", x, optional)
):
"0 - 0"
"1 - 0"
"2 - 0"
"3 - 0"
"4 - 0"
我在这里遗漏了什么吗?谢谢!
最佳答案
更改自:
RecursiveFunction(x + 1, optional++);
// ^^
收件人:
RecursiveFunction(x + 1, ++optional);
// ^^
第一个执行操作然后递增可选
。
第二个在递增 optional
后执行操作。
来自 MSDN :
++ var
var ++
The first form is a prefix increment operation. The result of the operation is the value of the operand after it has been incremented.
The second form is a postfix increment operation. The result of the operation is the value of the operand before it has been incremented.
关于具有可选参数的 C# 递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340027/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!