C# lambda捕获外部变量
C# 不能像C++一样手动指定 引用还是传值,默认传引用,可以新建局部变量达到传值的效果
由于每个循环都会创建一个局部变量K,所以每个表达式引用了各自的K 而不是所有表达式都引用的i了,避免直接引用i 导致每个表达式输出都是i最终值
PS:玩惯了C++,C#这些机制还不太习惯
参考:Lambda 表达式中的变量范围
https://msdn.microsoft.com/zh-cn/library/bb397687.aspx
参考:匿名方法的参数的范围是“匿名方法块”