闭包的使用场景:想把一些行为封装起来,这些行为依赖当前上下文的数据,而你不想重建一个方法,并且传递参数。这时候可以使用闭包。在C#中,闭包主要是通过匿名方法来体现的。

闭包的优点:

1、直接传递上下文数据,不需要传递。

2、延迟初始化器

闭包的缺点:

破坏了封装性,也就是说,使用了本不属于自己的东西。