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();
    }
}
相关推荐
tryxr17 分钟前
Java 多线程标志位的使用
java·开发语言·volatile·内存可见性·标志位
APItesterCris29 分钟前
高并发场景下的挑战:1688 商品 API 的流量控制、缓存策略与异步处理方案
大数据·开发语言·数据库·缓存
yyy(十一月限定版)31 分钟前
c语言——栈和队列
java·开发语言·数据结构
feeday32 分钟前
Python 删除重复图片 优化版
开发语言·python
.格子衫.36 分钟前
JS原型链总结
开发语言·javascript·原型模式
麦麦鸡腿堡39 分钟前
Java_MySQL介绍
java·开发语言·mysql
于是我说39 分钟前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试
shoubepatien39 分钟前
JavaWeb_Web基础
java·开发语言·前端·数据库·intellij-idea
吧啦蹦吧1 小时前
`org.springframework.util.ClassUtils#forName
开发语言·python
CC.GG1 小时前
【C++】红黑树
java·开发语言·c++