.NET委托,事件和Lambda表达式详解

C# 中的委托(Delegates)是一种类型安全的、可扩展的函数指针。它允许将方法作为参数在运行时传递。这使得你可以把方法轻松地传递给其他方法,以便在需要的时候调用。

Lambda 表达式是 C# 中的一种简化的委托声明语法。它提供了一种简单的方法来创建匿名函数(不带名称的函数)并将其用作委托实例。

下面是一个简单的示例,演示了如何使用委托和 Lambda 表达式来定义一个方法并将其作为参数传递:

delegate int MyDelegate(int x, int y);

class Program
{
    static void Main(string[] args)
    {
        MyDelegate del = (x, y) => x + y;
        int result = del(5, 10);
        Console.WriteLine(result);
    }
}


我们常用的Action和Func的原码

image.png

可以看出拉姆达本质上就是微软定义好的委托

果糖网