复制
C# 中的闭包是什么?
C# 中的闭包采用内联委托/匿名方法的形式。闭包附加到其父方法,这意味着可以从匿名方法中引用父方法主体中定义的变量。这里有一篇很棒的博客文章。
例子:
public Person FindById(int id)
{
return this.Find(delegate(Person p)
{
return (p.Id == id);
});
}
您还可以查看Martin Fowler或Jon Skeet的博客。我相信您将能够从其中至少一个中获得更“深入”的细分......
C# 6 的示例:
public Person FindById(int id)
{
return this.Find(p => p.Id == id);
}
这相当于
public Person FindById(int id) => this.Find(p => p.Id == id);