【发布时间】:2011-01-26 23:49:14
【问题描述】:
我对这些比较陌生,有人可以解释一下(以下代码的)意义,或者提供一些关于 lambda 表达式的有用信息的链接吗?我在测试中遇到以下代码,我想知道为什么有人会这样做:
foo.MyEvent += (o, e) => { fCount++; Console.WriteLine(fCount); };
foo.MyEvent -= (o, e) => { fCount++; Console.WriteLine(fCount); };
我的直觉告诉我,这很简单,不是错误,但我对这些表达方式了解得不够多,无法理解为什么要这样做。
【问题讨论】:
-
此代码将无法按预期工作。
-
这是stackoverflow.com/questions/2333560/… 和许多其他人的副本。我会投票结束,但当天没有票。
-
约翰:它可能是重复的,但不是 2333560。
-
约翰,我不认为它是重复的(至少不是 2333560)。我不认为他只是在问“什么是 lambda?”他在问“从事件中添加和删除相同的 lambda 有什么意义?” -- 正如 SLaks 所观察到的,这不是代码作者所期望的!
-
或者,鉴于他已经接受了“什么是 lambda”的答案,我可能完全错了......
标签: c# lambda anonymous-delegates