c# – Expression.Lambda中的Tailcall参数

给出尾部调用优化参数的原因是什么?

Expression.Lambda(Expression body,bool tailcall,
IEnumerable<ParameterExpression> Parameters)

只要不影响结果,我们就明确需要为它指定一个值.我觉得最好有尾调优化.你有不同的想法吗?

最佳答案 设计有点搞笑.

对于tailcall参数传递true,将尝试将函数调用尾部位置作为lambda体内的尾调用.

尾部位置是方法调用是返回表达式的位置.

至于更好,这是主观的.

>尾部呼叫往往总是较慢
>有一些规则要遵循(返回类型必须匹配或作为参考)
>您没有用于调试的堆栈跟踪

点赞