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();
    }
}
相关推荐
Riemann~~8 小时前
ros2写一个可以修改参数的node
开发语言·python·ros2·机器人系统
无巧不成书02188 小时前
Java核心技术全景解析:从白皮书到实战踩坑
java·开发语言
Roy_Sashulin8 小时前
基于AI的Java编程平台
java·开发语言·人工智能·sashulin·deepseek
周万宁.FoBJ8 小时前
vue源码讲解之 reactive解析(仅proxy部分)
开发语言·javascript·ecmascript
阿贵---8 小时前
单元测试在C++项目中的实践
开发语言·c++·算法
2401_891482178 小时前
C++中的事件驱动编程
开发语言·c++·算法
sw1213899 小时前
C++与Rust交互编程
开发语言·c++·算法
2401_857918299 小时前
模板编译期机器学习
开发语言·c++·算法
weixin_404157689 小时前
Java高级面试与工程实践问题集(一)
java·开发语言·面试
清风徐来QCQ9 小时前
Java2(valueOf,Character,StringBuilder,设计模式)
java·开发语言