C# lambda捕获外部变量

2017-01-09 14:05:48来源:oschina作者:梦想游戏人人点击

第七城市

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

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台