浅谈C#闭包
来源:互联网 发布:淘宝网3元优惠券图片 编辑:程序博客网 时间:2024/05/20 00:12
关于闭包的解释如下:
闭包是可以包含自由(未绑定到特定对象)变量的代码块;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义。
可以将C#中的闭包理解为存在于运行环境中的自由变量,在该闭包作用域内可以任意修改该变量,另外,它亦会被隐藏,如以下面的代码为例:
- public class TCloser{
- public Func<int> T1()
- {
- var n =999;
- Func<int>result = () =>
- {
- return n;
- };
- n =10;
- return result;
- }
- public dynamic T2()
- {
- var n =999;
- dynamic result =new {A =n };
- n = 10;
- return result;
- }
- static void Main(){
- var a =new TCloser();
- var b =a.T1(); //b值为10
- var c =a.T2(); //c值为999
- Console.WriteLine(b());
- Console.WriteLine(c.A);
- }
- }
- 浅谈C#闭包
- 浅谈JavaScript闭包
- 浅谈JS闭包
- JavaScript 闭包浅谈
- javascript浅谈闭包
- javascript闭包浅谈
- 浅谈javascript闭包
- 浅谈JavaScript闭包
- 浅谈JavaScript闭包
- 浅谈js之闭包
- 浅谈iOS中的闭包
- 浅谈iOS中的闭包
- 浅谈Javascript的闭包
- 浅谈js之闭包
- 浅谈python 闭包思想
- 浅谈javaScript中的闭包
- 浅谈js中的闭包
- 关于C#闭包
- rman 恢复system
- oracle 11G 读书笔记之 tablespace
- win7中使用了第三方主题后,网页中的输入框和按钮就会变小解决方案
- ABAP处理日期到任何格式
- sqlserver output
- 浅谈C#闭包
- 网站访问统计,以小时为单位
- C++11 中值得关注的几大变化(详解)
- Struts2入门基础之action详解(五)
- android经常调用的组件
- linux_vmware8+ubuntu12.04搭建hgfs
- 变量名称解析规则
- Linux摄像头编程
- linq学习笔记1