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();
    }
}
相关推荐
skywalk816313 分钟前
你希望的「多路捕获」语法是哪种形式?具体而言,「捕获 类型为 e」指的是什么?
开发语言·编程
两年半的个人练习生^_^24 分钟前
JMM 进阶:彻底理解 volatile 实现原理
java·开发语言
晚风吹红霞26 分钟前
C++模板进阶:非类型参数、特化、分离编译与优缺点解析
开发语言·c++
小小龙学IT33 分钟前
Go语言后端开发入门指南
开发语言·后端·golang
不会C语言的男孩33 分钟前
C++ Primer 第8章:IO 库
开发语言·c++
兰令水41 分钟前
leecodecode【层序遍历】【2026.6.3打卡-java版本】
java·开发语言
Halo_tjn42 分钟前
反射与设计模式2
java·开发语言·算法
kaoa0001 小时前
Linux入门攻坚——79、XEN虚拟化-2
linux·运维·开发语言
磊 子1 小时前
C++仿函数以及STL内置仿函数
开发语言·c++
0x3F(小茶)1 小时前
嵌入式C设计模式完全指南(基于《C嵌入式编程设计模式》)
c语言·开发语言·单片机·嵌入式硬件·设计模式