C# 匿名函数递归

标签 c# linq recursion anonymous-function

如果我错了,请纠正我,但我在网上找不到这样的直接内容。 假设您有以下内容:

        static Func<int,int> GetInt(int n)
        {
            return (int y) =>
            {
                if (y < 2)
                    return (y);
                return 
                    GetInt(n - 1)(y) - GetInt(n - 2)(y);
            };
        }

尝试通过调用此匿名函数来获取结果将返回类似 System.Func`2[System.Int32,System.Int32] 的内容。 如何使用匿名函数实现递归。我如何转换实际函数的返回值以获得结果?

最佳答案

您似乎按如下方式调用该函数:

var result = GetInt(valueOfN);

请注意,上面的 GetInt 方法返回一个函数本身。因此,要获取内部函数返回的结果,您需要执行以下操作:

var result = GetInt(valueOfN)(valueOfY);

关于C# 匿名函数递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62204926/

相关文章:

JavaScript 递归反向字符串

c# - SQLite Xamarin 中的一对多关系

c# - 有什么方法可以在不重载函数的情况下将 MongoDB ObjectId 用作 C# 中的可选参数

c# - 如何将动态对象转换为类型并进行比较

c# - 在 C# 中的 nestedProperty 上使用 InvokeMember

javascript - typescript : Is there a way to get all the keys in a Javascript object with nested properties?

c# - T4文本模板: method to return html expression

c# - 如何通过将字典值作为过滤器参数来使用 C# 驱动程序查询 MongoDb 集合

c# - Linq to Entity Groupby 并连接列

java - 递归打印出数组中等于给定总和的所有子集,不会跳转到下一次迭代