小编典典

什么是C#中的“闭包”?

c#

什么是C#中的闭包?


阅读 362

收藏
2020-05-19

共1个答案

小编典典

C#中的闭包采用内联委托/
匿名方法的形式。甲闭合连接到它的父方法意味着在父母的方法体定义的变量可以从匿名方法中被引用。这里有一个很棒的博客文章

例:

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

您也可以查看Martin FowlerJon
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);
2020-05-19