我正在阅读C#,我遇到了Anonymous方法的主题。我非常了解Groovy,我猜Groovy Closures与C#Anonymous方法非常相似。我检查了这本书,在线文档的规则是匹配的。就像他们在被调用之前不会执行等等。
这些Groovy闭包和C#匿名方法相等吗?
或者有情况他们表现不同?
答案 0 :(得分:1)
在某些情况下,他们的行为会有所不同。
C#匿名方法可以是“修改后的闭包”,因为它们是在创建闭包后可以修改执行上下文的情况。有关详细说明,请参阅Access to Modified Closure和ReSharper Warning - Access to Modified Closure。
我相信在Groovy中,“闭包”可以为复制的执行上下文提供更多保证。但是,应该注意的是我的经验是在C#中,而且我对Groovy的接触有限。