C#委托

1 什么是委托

我的理解是 将方法作为参数进行执行

2如何定义委托

  1)以delegate 关键字

   2) 返回类型 + 委托名称 +参数

delegate   void      name    (int a)   

3 一个简单的使用  

但是我们这样看看是不是觉得很麻烦  这时候我们就可以使用 lambda 表达式

在声明委托时这段话过于麻烦 (标红色字的)

public delegate int open1(int s);

 public  open1 a2 = delegate(int s) { return s *100; };

我们可以直接在 Main主函数中这样调用

int z= a1(int a, s=>{ return s *100; });

 这个代码可以这样解释 调用  a1 方法 这个方法使用 一个 int 类型参数 和 一个lambda表达式 传入一个变量 这个变量*100返回

也就是说我们可以直接定义一个委托,public delegate int open1(int s); 

将要调用时  s=>{ return s *100; }

有分以下这几种情况的lambda表达式

( type var)=>{      } 直接去掉 delegate =>

(数值)=>{    }一般都这这样标识 不加数据类型 因为在声明委托时已经定义了可以不用

   数值=>{      } 只有一个参数才可以这样写

()=>{      }    没用参数时的调用

原文地址:https://www.cnblogs.com/wbg522963969/p/12497688.html