前文:https://blog.csdn.net/Jaihk662/article/details/97130647(匿名方法与Lambda表达式)

一、Action泛型委托

Action 为 System 内置的无返回值委托,只需要引用 System 库就可以直接使用而不用定义,有以下几种形式

  • public delegate void Action();
  • public delegate void Action<T1>(T1 arg1);
  • public delegate void Action<T1, T2>(T1 arg1, T2 arg2);
  • public delegate void Action<T1, T2, T3>(T1 arg1, T2 arg2, T3 arg3);
  • public delegate void Action<T1, T2, T3, T4>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
  • ……

一个使用的例子如下(功能:给予a和b,输出它们加减乘除后的结果):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;public class Subject : MonoBehaviour
{private void Start(){Action<int, int> delt = (int a, int b) => Debug.Log(a + b);         //直接用Lambda表达式delt += (int a, int b) => Debug.Log(a - b);delt += (int a, int b) => Debug.Log(a * b);delt += (int a, int b) => Debug.Log(a / b);delt(5, 3);}
}

二、Func泛型委托

Func 为 System 内置的有返回值委托,只需要引用 System 库就可以直接使用而不用定义,有以下几种形式

  • public delegate TResult Func<TResult>();
  • public delegate TResult Func<T1, TResult>(T1 arg1);
  • public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
  • public delegate TResult Func<T1, T2, T3, TResult>(T1 arg1, T2 arg2, T3 arg3);
  • public delegate TResult Func<T1, T2, T3, T4, TResult>(T1 arg1, T2 arg2, T3 arg3, T4, arg4);
  • ……

一个使用的例子如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;public class Subject : MonoBehaviour
{private void Start(){Func<int, int, string> delt = (int a, int b) => (a+b).ToString();delt += (int a, int b) => (a * b).ToString();delt += (int a, int b) => (a - b).ToString();delt += (int a, int b) => (a / b).ToString();Debug.Log(delt(5, 3));          //注意只会输出最后一个返回值,这个测试其实没什么意义}
}

C#基础18:内置委托类型Action和Func相关推荐

  1. VBS基础篇 - 内置函数

    VBS基础篇 - 内置函数 Date/Time 函数 函数 描述 CDate 把有效的日期和时间表达式转换为日期(Date)类型. Date 返回当前的系统日期. DateAdd 返回已添加指定时间间 ...

  2. 《C++ Primer 第五版》(第3.5-3.6节) ——C++中的内置数组类型,string对象和C风格字符串

    1.C++中的内置数组类型 C++中的数组是内置数据类型,但不是基础数据类型而是构造数据类型,是有限个相同数据.占据着连续物理存储空间的有序集合.而内置数据类型定义的下标运算符可以处理负值运算(只要在 ...

  3. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  4. .NET (二)委托第二讲:内置委托Func

    .NET (二)委托第二讲:内置委托Func 在上一章节中,我们自己声明了一个委托: public delegate bool Cal(int num); 接受int参数,返回bool类型,目的是过滤 ...

  5. python内置对象是什么_Python内置对象类型之数字类型

    Python中有6种内置对象类型 整数.浮点数–Number 字符串–String 列表–List 元组–Tuple 字典–Dictionary 集合–Set 不可变类型:Number.String. ...

  6. Python基础:内置异常(未完待续)

    Python基础:内置异常(未完待续) 参考文章: (1)Python基础:内置异常(未完待续) (2)https://www.cnblogs.com/luo630/p/9176768.html 备忘 ...

  7. python序列类型-Python内置序列类型之集合类型详解

    1.集合概念 具有某种特定性质的事物的总体,集合里的东西叫作元素.Python中,集合(set)是一个无序不重复元素的序列. 2.集合的创建 可以使用大括号 { } 或者 set() 函数创建集合,注 ...

  8. 【Python基础】内置函数filter详解

    filter,顾名思义,就是一个过滤器.其作用是从列表(或其他序列类型)中筛选出满足条件的子列表,filter是python的内置函数,无须import即可直接使用. 1 filter的基础用法 对于 ...

  9. python的四种内置数字类型_浅析Python数字类型和字符串类型的内置方法

    一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内 ...

最新文章

  1. python【蓝桥杯vip练习题库】ADV-150 周期字串
  2. Java实战系列之关于双十一秒杀架构模型的一点思考
  3. [数据结构]快速排序
  4. wget下载速度太慢,mwget多线程下载工具
  5. 数据结构_链表_单向链表
  6. 跨境电商ERP管理,让你节约跟多时间!
  7. java -1%3_java学习笔记(day23)
  8. Git 使用方法(一)-本地篇
  9. android消息通知布局,Android Design
  10. linux git clone 401,Git Eclipse:401未经授权的错误
  11. Java数组怎么传给形参_在Java程序中,如果方法的形参是数组,则调用该方法时传递的是数组的...
  12. 中止执行后超过2年_执行中止。债权人是否两年内都要申请执行一次。如果中止执行两年内不申请执行,是否都再也执行不了...
  13. python 发送邮件
  14. echarts地图设置legend_echarts中关于自定义legend图例文字
  15. 如何读取服务器FTD的日志文件
  16. c语言中ioc有什么作用,IOC简介
  17. 一文解析数据库基础设施的现状与挑战
  18. 深入浅出了解Unet
  19. 腾讯云又搞特价活动打折续费还可以有优惠机不可失
  20. 干货!从0到1教你运营抖音

热门文章

  1. python 计算机程序设计-计算机二级教程python第一章 程序设计语言
  2. python适合自学编程吗-对于0基础的人,直接学 Python 编程合适吗?
  3. 线上python课程一般多少钱-python学习费用多少合适
  4. p语言是python吗-Python语言
  5. siri不能识别语音
  6. HTTP和HTTPS的理解
  7. java md5算法_JAVA实现MD5算法
  8. LeetCode 45 跳跃游戏||
  9. java 参数类型可变_java – 具有可变类型参数的通用
  10. java 线性的排序算法_数据结构之排序算法Java实现(9)—— 线性排序之 基数排序算法...