委托:
顾名思义,就是要别人帮我办一件事,是实现回调函数的一种机
回调函数:举个例子,我要人事帮我找C#工程师简历发给我,给我发简历这个事件就是回调函数,因为她找到了就会多次发给我
定义委托的方式:
- 委托的返回值和参数必须一致,否则会报错
using System;
//这里就是定义委托
public delegaet void TextDelagate1();
class program{
public static void Main(string[] args){
//开始回调:
TextDelegate1 delegate1 = Hello()
}
//回调方法
public void Hello(){
Console.WriteLine("Hello World");
}
}
这是最基础的委托调用的方法,但是委托我们可以用Lanbad表达式来简化==>还是原来的代码我们可以简化成这样
- Lambad表达式写法是 => 用在方法和函数之间
- 使用Lambad表达式可以去掉方法名和return;
- 如果只有一行的话可以去掉{}
- 如果只有一个数那么可以去掉括号
- 尽量使用静态的方法修饰
using System;
//这里就是定义委托
public delegaet void TextDelagate1();
public delagate int Textdalegate2(int x,int y);
class program{
public static void Main(string[] args){
//开始回调:
TextDelegate1 delegate1 = Hello()
TextDelegate1 delegate2 =
() => {Console.WriteLine("Hello World");}
TextDelegate1 delegate3 =
() => Console.WriteLine("Hello World");
//这里开始是有参数的调用方法
TextDelegate2 delegate4 =Sun;
int c = Sun(1,3);
TextDelegate2 delegate4 = (int x,int y) =>{x + y};
TextDelegate2 delegate4 = (int x,int y) =>x + y;
TextDelegate2 delegate4 = ( x, y) =>x + y;
}
//回调方法
public void Hello(){
Console.WriteLine("Hello World");
}
public static int Sun(int x,int y){
return x + y;
}
}