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();
    }
}
相关推荐
Zachery Pole7 小时前
JAVA_06_方法
java·开发语言
LSL666_7 小时前
10 集群
java·开发语言·数据库·redis·集群
好家伙VCC7 小时前
# 发散创新:基于Python的轻量级测试框架设计与实践 在现代软件开发中,**自动化
java·开发语言·python·自动化
NGC_66117 小时前
Java异常体系
开发语言·python
knighthood20017 小时前
PCL1.14.0+VTK9.3.0+Qt5.15.2实现加载点云遇到的问题解决
开发语言·qt
叙白冲冲8 小时前
JAVA中栈的使用
java·开发语言
rabbitlzx8 小时前
《Async in C# 5.0》第十四章 深入探讨编译器对于async的转换
java·开发语言·c#·异步·asynchronous
神明不懂浪漫8 小时前
【第十三章】操作符详解,预处理指令详解
c语言·开发语言·经验分享·笔记
MediaTea8 小时前
Python:类型槽位
开发语言·python
郝学胜-神的一滴8 小时前
深入解析Effective Modern C++条款35:基于任务与基于线程编程的哲学与实践
开发语言·数据结构·c++·程序人生