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 =>
(数值)=>{ }一般都这这样标识 不加数据类型 因为在声明委托时已经定义了可以不用
数值=>{ } 只有一个参数才可以这样写
()=>{ } 没用参数时的调用