【C#基础知识】——初识委托(delegate)
来源:互联网 发布:淘宝销量怎么查看 编辑:程序博客网 时间:2024/06/03 20:46
委托是C#语言很重要的一个知识点,在后续的编码中会大量使用到。
委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。
委托是事件的基础,匿名方法,Lambda表达式都是建立在委托的基础之上的。
- 说白了委托就是可以把方法当做(方法的)参数来传递。
委托是引用类型,在使用委托时首先要定义–>声明–>实例化–>作为参数传递给方法–>使用委托。
委托语法:
访问修饰符 delegate 返回值类型 委托名称(参数列表);
public delegate void MyDelegate(int a, int b);
委托声明的关键字:delegate。
委托声明的位置可以在类外,也可以在类内。
声明的委托要和绑定的方法的“签名”保持一直;(签名指的是
方法的返回值类型,以及参数列表的类型)
加减乘除事例:
/// <summary> /// 声明一个委托 /// </summary> public delegate void CalcDelegate(int numA, int numB); public class Calc : MonoBehaviour { private void Start() { int numA = 10; int numB = 2; // 传入和委托类型相同签名的方法 MyCalc(numA, numB, JiaFa); } /// <summary> /// 把方法当做(方法的)参数来传递,a和b是int 类型,而方法的类型就是委托类型, /// </summary> private void MyCalc(int a,int b,CalcDelegate calcDel) { calcDel(a, b); } private void JiaFa(int a, int b) { Debug.Log(string.Format("{0} + {1} = {2}", a, b, a + b)); } private void JianFa(int a, int b) { Debug.Log(string.Format("{0} - {1} = {2}", a, b, a - b)); } private void ChengFa(int a, int b) { Debug.Log(string.Format("{0} * {1} = {2}", a, b, a * b)); } private void ChuFa(int a, int b) { Debug.Log(string.Format("{0} / {1} = {2}", a, b, a / b)); } }
阅读全文
0 0
- 【C#基础知识】——初识委托(delegate)
- C#基础知识——委托Delegate
- C#基础 之 初识委托delegate
- 初识c#委托,delegate,Func,Action
- C# 委托(Delegate)
- C# 委托(Delegate)
- C# 委托(Delegate)
- C#委托(delegate)
- C# 委托(Delegate)
- C# 委托(Delegate)
- C#中的委托(Delegate)
- C# 委托(Delegate)使用
- C#委托详解(delegate)
- IOS—delegate(委托)
- C#学习笔记之——委托(delegate)
- C#委托初识(一)
- [转] C# 委托(Delegate)使用
- C#多播委托(Multicast Delegate)
- poj-3041 Asteroids
- hdu_4350_数组模拟_函数调用数组
- Oracle 11G RAC:生产环境下架构
- 【deep learnign】关于 epoch、 iteration和batchsize
- 怎么设置原理图导入到pcb中的默认字体类型(大小,字体)?
- 【C#基础知识】——初识委托(delegate)
- 静态变量和成员变量的区别
- 【算法学习】求两数组求差数(Java,三重境界)
- IntelliJ IDEA+SpringBoot用JDBC做一个小型的javaWeb程序
- HashMap和Hashtable的区别
- 【JZOJ5249】【NOIP2017提高A组模拟8.10】文本编辑器
- 【MySQL】索引分析与优化
- MyCat:开源分布式数据库中间件之数据库分片和读写分离配置
- BZOJ[3211]花神游历各国 树状数组+并查集