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();
    }
}
相关推荐
冻柠檬飞冰走茶5 分钟前
《数据结构实验指导-C++语言版》 在顺序表 list 中查找元素 x
开发语言·数据结构·c++·算法·list
Brilliantwxx5 分钟前
【C++】 高阶数据结构图(1)并查集
开发语言·数据结构·c++
lancyu6 分钟前
# Agent Loop:AI Agent 的唯一直心骨
开发语言·javascript·人工智能
frjc34 分钟前
阿里云 ACK 环境 Arthas 在线调试指南
开发语言·python
longxiaozhang61 小时前
C#继承:让代码少写一点,偷懒的好方法
开发语言·c#
weixin_440730502 小时前
python+request实现接口-参数化小结
开发语言·python
CHHH_HHH2 小时前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu
yngsqq2 小时前
窗体快速取消
java·开发语言
rockey6272 小时前
C#脚本引擎之AScript与DynamicExpresso对比
c#·.net·script·动态脚本
XiaQ09192 小时前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习