C# lambda捕获外部变量

梦想游戏人
目录:
C#

C# 不能像C++一样手动指定 引用还是传值,默认传引用,可以新建局部变量达到传值的效果

由于每个循环都会创建一个局部变量K,所以每个表达式引用了各自的K 而不是所有表达式都引用的i了,避免直接引用i 导致每个表达式输出都是i最终值

PS:玩惯了C++,C#这些机制还不太习惯

参考:Lambda 表达式中的变量范围

https://msdn.microsoft.com/zh-cn/library/bb397687.aspx

参考:匿名方法的参数的范围是“匿名方法块

https://msdn.microsoft.com/zh-cn/library/0yw3tz5k.aspx

Scroll Up