C#中的'闭包'是什么?

时间:2009-02-27 16:29:07

标签: c# closures

复制

  

Closures in .NET

C#中的闭包是什么?

1 个答案:

答案 0 :(得分:94)

C#中的closure采用内联委托/ anonymous method的形式。 closure附加到其父方法,这意味着可以在匿名方法中引用父方法体中定义的变量。这里有一个很棒的Blog Post

实施例

public Person FindById(int id)
{
    return this.Find(delegate(Person p)
    {
        return (p.Id == id);
    });
}

您还可以查看Martin FowlerJon Skeet个博客。我相信你至少可以从其中一个中获得更多“深度”细分......