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();
    }
}
相关推荐
浅念-16 分钟前
C++ string类
开发语言·c++·经验分享·笔记·学习
百锦再23 分钟前
Java多线程编程全面解析:从原理到实战
java·开发语言·python·spring·kafka·tomcat·maven
Cosmoshhhyyy27 分钟前
《Effective Java》解读第38条:用接口模拟可扩展的枚举
java·开发语言
小冷coding1 小时前
【Java】最新Java高并发高可用平台技术选型指南(思路+全栈路线)
java·开发语言
爱华晨宇1 小时前
Python列表入门:常用操作与避坑指南
开发语言·windows·python
一切顺势而行1 小时前
python 面向对象
开发语言·python
JaJian.2 小时前
Java后端服务假死问题排查与解决
java·开发语言
bugcome_com3 小时前
C# 常量详解:从基础语法到实际应用
c#
jjjxxxhhh1233 小时前
RSA加密解密代码
开发语言·c++
Sun_gentle3 小时前
java.lang.RuntimeException: Could not load wrapper properties from ‘C:\Users\
java·开发语言·安卓