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();
    }
}
相关推荐
断点之下几秒前
从C的struct到C++的class:封装、this指针、三大特性入门
开发语言·c++
yongui478341 分钟前
基于稀疏低秩分解的图像去噪MATLAB实现
开发语言·matlab
geovindu4 分钟前
python: N-Barrier Pattern
开发语言·python·设计模式·屏障模式
战族狼魂13 分钟前
MetaPrompt编译器核心逻辑拆解
开发语言·人工智能·python
gihigo199819 分钟前
MATLAB实现光谱特征波长提取
开发语言·matlab
代钦塔拉21 分钟前
Qt信号槽参数类型全解:原生类型、结构体、enum class强枚举注册与传参实战
开发语言·qt
dinl_vin28 分钟前
Python 并发编程实战:多线程、协程与多进程全解析
开发语言·人工智能·python
程序大视界29 分钟前
【C++ 从基础到项目实战】C++(五):类与对象基础——构造、析构与访问控制
开发语言·c++·cpp
代码中介商30 分钟前
掌握C++ std::bind:参数绑定与灵活调用
开发语言·c++
拽着尾巴的鱼儿35 分钟前
Java 对象的深拷贝和浅拷贝
java·开发语言