Action委托与Func委托

Action委托

static void PrintString()
{
Console.WriteLine(“Action委托”);
}
Action a=PrintString; //Action委托是系统内置的一个委托类型,可以指向一个没有返回值没有参数的方法

Action可以通过泛型去指定Action指向的方法的多个参数的类型,参数的类型和Action声明的参数类型一一对应:
static void PrintInt(int x)
{
Console.WriteLine(x);
}
static void PrintIntString(int y,string str)
{
Console.WriteLine(y,“123”)
}
Action<int>=PrintInt;//定义了一个委托类型可以指向一个没有返回值,有一个int参数的方法。
Action <int,string>=PrintIntString;//同上。指向一个没有返回值,有int和string两个参数的方法。

Func委托

是一个必须有返回值类型的委托。必须指定一个返回值类型。
Func<参数类型(最多可以有16个参数),返回值类型> func=Test;
先写参数,最后写返回值。 ·

例1:static int Test(string str)
{
Console.WriteLine(str);
return 100;
}

Func<string,int> func=Test; //指向参数为string类型,返回值为int类型的Test方法
Console.WriteLine(func());

例2:static int Test(int x,int y,int z)
{
return x+y+z;
}

Func<int,int,int,int> func=Test;//前三个int为参数,最后一个int为返回值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Action与Func的区别: Action 不能指向有返回值的方法 , 不能有返回值 。Func 可以指向有一个...
    困卡阅读 9,879评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,272评论 19 139
  • 1.委托的声明 Delegate可以指定返回值类型;Aciton无返回值类型;Func的最后一个参数表示返回值类型...
    混世小码农阅读 3,003评论 0 1
  • 1. [C#语言基础]请简述拆箱和装箱。 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何...
    胤醚貔貅阅读 10,336评论 1 28
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,738评论 18 399

友情链接更多精彩内容