[问题] Lamdba陈述式疑问

楼主: don750421 (1+1≠2)   2014-11-11 22:42:40
小弟最近在学Lamdba,在看MSDN时看到一段
Lamdba的变量范围
1.已撷取的变量要等到参考该变量的委派符合内存回收的资格时,
才会进行内存回收。
2.导入 Lambda 运算式内的变量无法在外部方法中看见。
3.Lambda 运算式无法直接撷取外层(enclosing)方法的 ref 或 out 参数。
4.Lambda 运算式中的 return 陈述式不会令其外围(enclosing)方法返回。
5.如果跳跃陈述式的目标不在区块内,则 Lambda 运算式不可包含 Lambda 函式内的
goto 陈述式、break 陈述式或 continue 陈述式。 即使目标位于区块内,跳跃陈述式
出现在 Lambda 函式区块外部也一样是错误。
针对第4点和第5点有些不了解MSDN解释的意思。
有人可以解释一下,或是提出范例说明吗??
感恩。
作者: O187 (187cm)   2014-11-11 23:29:00
你把lambda当作另一个独立的method,只是可以存取外层method内的变量, 这样会比较好懂
作者: s3748679   2014-12-06 00:43:00
可以用decompiler去看看lambda会产生什么code实验一下就可以知道了

Links booklink

Contact Us: admin [ a t ] ucptt.com