c#基础--委托的使用

一、什么是委托?
委托是一种动态调用方法的类型,属于引用型。委托是对方法的抽象和封装。委托对象实质上代表了方法的引用(即内存地址)。委托通常是委托某个方法来实现具体的功能。当我们调用委托的时候,委托包含的所有方法将被执行。虽然在定义委托时与方法有些相似,但我们不能将其称为方法。

二、委托的定义
1.delegate
定义一个int返回值、带一个参数的委托:

修饰符 delegate 返回值类型 委托名 ( 参数列表 );

public delegate int TestDelegate(int x, int y);
定义好委托后就到了实例化委托的步骤,命名方法委托在实例化委托时必须带入方法的具体名称。

委托名 委托对象名 = new 委托名 ( 方法名 );
在这里插入图片描述
delegate例:
class Program
{
public delegate void MyDelegate();
static void Main(string[] args)
{
MyDelegate myDelegate = new MyDelegate(Test.SayHello);
myDelegate();
}
}
class Test
{
public static void SayHello()
{
Console.WriteLine(“Hello Delegate!”);
}
}
2.Action与Func
Action和Func是系统预定义的委托,所以不需要我们再进行定义了,没有返回值。有两种形式,一种是单独的Action既没有返回值也不可以带参数;另一种是没有返回值,可以带参数的Action<>,参数限制0~16个。Action是无返回值的泛型委托。

    Action 表示无参,无返回值的委托。

    Action<int,string> 表示有传入参数int,string无返回值的委托。

    Func<返回值类型>必须有返回值,不能是void,参数0~16个。 

    Func<参数1,参数2,返回值类型>必须有返回值和参数,不能是void

Action例:
在这里插入图片描述
运行结果:
在这里插入图片描述
Func例:
在这里插入图片描述
运行结果:
在这里插入图片描述
实际的用法案例如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光怪陆离的节日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值