如何在表达式中实现"递归"

H-D-G 2023/11/18 发布 · 2023/11/18 更新 · 995 次阅读

以经典的“斐波那契数列”为例:
 
Quicker 的表达式引擎不支持直接使用递归方法:
 
但我们可以通过 Func 和 lambda表达式间接实现:
附源码:
Func<int,int> Fibonacci = (n) =>
{
	if (n <= 0)
	{
		throw new ArgumentException("n must be a positive integer.");
	}
	if (n == 1 || n == 2)
	{
		return 1;
	}
	return Fibonacci(n - 1) + Fibonacci(n - 2);
};

Fibonacci(10)
· {{comment.createTimeStr}}
{{reply.votePoints}}
回复   – {{reply.createTimeStr}}
回复 x
标签
目录
相关操作