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();
    }
}
相关推荐
清水白石00813 分钟前
缓存的艺术:Python 高性能编程中的策略选择与全景实战
开发语言·数据库·python
JienDa28 分钟前
Haio · 海鸥 - 企业级插件化应用平台
开发语言·php
Toormi29 分钟前
Go 1.26在性能方面做了哪些提升?
开发语言·后端·golang
CHANG_THE_WORLD29 分钟前
深入理解C语言指针运算与数据搜索
c语言·开发语言
大鹏说大话30 分钟前
基于.NET和C#构建光伏IoT物模型方案:架构设计与实践指南
物联网·c#·.net
DokiDoki之父38 分钟前
边写软件边学kotlin(二)——语法推进
开发语言·微信·kotlin
清水白石0089 小时前
突破并行瓶颈:Python 多进程开销全解析与 IPC 优化实战
开发语言·网络·python
百锦再10 小时前
Java之Volatile 关键字全方位解析:从底层原理到最佳实践
java·开发语言·spring boot·struts·kafka·tomcat·maven
daad77711 小时前
rcu 内核线程
java·开发语言
xzjiang_36511 小时前
检查是否安装了MinGW 编译器
开发语言·qt·visual studio code