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();
    }
}
相关推荐
m0_5312371713 小时前
C语言-操作符练习
c语言·开发语言
tod11313 小时前
C++核心知识点全解析(二)
开发语言·c++·面试经验
weixin_4404016914 小时前
Python数据分析(空值、重复值检测删除与设置)
开发语言·python·数据分析
消失的旧时光-194314 小时前
C++ 多线程与并发系统取向(五)—— std::atomic:原子操作与状态一致性(类比 Java Atomic)
开发语言·jvm·c++·并发
资深web全栈开发14 小时前
CoI - 组合优于继承:解耦的艺术
android·java·开发语言
低频电磁之道14 小时前
C++中预定义宏
开发语言·c++
工程师00714 小时前
MQTT 概念详解与 C# 实战
开发语言·c#·mqtt通信
代码改善世界14 小时前
栈和队列的实现与详解(C语言版):从底层原理到代码实战
c语言·开发语言
无名之逆15 小时前
你可能不需要WebSocket-服务器发送事件的简单力量
java·开发语言·前端·后端·计算机·rust·编程
Remember_99315 小时前
一文吃透Java WebSocket:原理、实现与核心特性解析
java·开发语言·网络·websocket·网络协议·http·p2p