我开始在C#中经常使用匿名委托,我开始想知道编译器或运行时从实际运行的代码中删除它们的效率如何,但我没有看到详细说明。
它是否足够聪明,可以内联它们并折叠可以静态推导的递归使用?
我开始在C#中经常使用匿名委托,我开始想知道编译器或运行时从实际运行的代码中删除它们的效率如何,但我没有看到详细说明。
它是否足够聪明,可以内联它们并折叠可以静态推导的递归使用?
在某些情况下,Lambda表达式将被缓存并用于后续使用,但不会被内联。匿名方法表达式或Lambda表达式被归类为匿名函数(§7.14)。该表达式没有类型,但可以隐式转换为兼容的委托类型或表达式树类型。
C#编译器不会对它们进行优化。但是,如果它们足够简单,.NET JIT编译器可能会进行优化。