2 tumubu tumubu 于 2016.01.17 17:49 提问

C#面试的问题:简要地介绍一下什么是C#中的闭包
c#

C#面试的问题:简要地介绍一下什么是C#中的闭包,它和匿名委托以及Lambda表达式的关系是什么?

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.17 18:13
已采纳

闭包,说的是匿名函数中可以直接访问所在作用域上下文的变量,反之不行。闭包为匿名函数共享上下文变量提供了一种简便的方式。

91program
91program   Ds   Rxr 2016.01.17 19:53

概念:内层的函数可以引用包含在它外层的函数的变量,即使外层函数的执行已经终止。但该变量提供的值并非变量创建时的值,而是在父函数范围内的最终值。
优点:使用闭包,我们可以轻松的访问外层函数定义的变量,这在匿名方法中普遍使用。比如有如下场景,在winform应用程序中,我们希望做这么一个效果,当用户关闭窗体时,给用户一个提示框。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!