List<Action> lst = new List<Action>();
for(int i=0; i<5; i++)
{
// wrong, output:55555
Action act = ()=>Console.WriteLine(i);
// correct, output:01234
/*
int temp = i;
Action act = ()=>Console.WriteLine(temp);
*/
lst.Add(act);
}
foreach(var fun in lst)
{
fun();
}
闭包
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 闭包介绍 Swift闭包和Objective-C中的Block很类似,是一段自包含的函数代码块,可以在代码中使用和...
- 本节知识点 闭包的基本概念 闭包基本使用 闭包表达式作为回调函数 闭包的多种写法(尾随闭包) 闭包表达式优化 闭包...
- 前言 很多刚开始写Swift的同学或许已经把闭包应用在很多地方了,也总是会把闭包跟OC中的block划等号,的确S...
- 之前傻傻分不清 匿名函数 和 闭包 这两个概念,因此经常混用。闭包 是指有权访问另一个函数作用域中的变量的函数。创...