C#__委托delegate

委托存储的是函数的引用(把某个函数赋值给一个委托类型的变量,这样的话这个变量就可以当成这个函数来进行使用了)

委托类型跟整型类型、浮点型类型一样,也是一种类型,是一种存储函数引用的类型

csharp 复制代码
using System.Reflection.Metadata.Ecma335;

class Program
{


    static int Sum(int p1,int p2)
    {
        return p1 + p2; 
    }
        //乘法函数
    static void Test()
    {
        Console.WriteLine("666");
    }

    //委托不是函数,它不需要有函数体        
    delegate int MyDelegate(int p1, int p2);  //返回值跟参数列表要一致
    delegate void MyDelegate2();
    static void Main(string[] args)
    {
        //Console.WriteLine(Multiply(2.3,2));
        //Console.WriteLine(Sum(1,2));

        MyDelegate d1; //利用委托声明变量
        MyDelegate2 d2; 
        d1 = Sum; //指向一个函数引用
        d2 = Test;
        Console.WriteLine(d1(1,2));
        d2();
    }
}
相关推荐
weixin_4407305013 分钟前
java结构语句学习
java·开发语言·学习
JIngJaneIL18 分钟前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
量子联盟20 分钟前
功能完整的PHP站点导航管理系统php程序;开源免费下载
开发语言·php
仙俊红23 分钟前
在 Java 中,`==` 和 `equals()` 的区别
java·开发语言·jvm
JIngJaneIL43 分钟前
基于java + vue校园跑腿便利平台系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
happybasic1 小时前
python字典中字段重复性的分析~~
开发语言·python
czlczl200209251 小时前
SpringBoot自动配置AutoConfiguration原理与实践
开发语言·spring boot·后端
张较瘦_2 小时前
JavaScript | 数组方法实战教程:push()、forEach()、filter()、sort()
开发语言·javascript·ecmascript
Filotimo_2 小时前
EntityGraph的概念
java·开发语言·数据库·oracle
wregjru2 小时前
【读书笔记】Effective C++ 条款1~2 核心编程准则
java·开发语言·c++