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();
    }
}
相关推荐
java_cj几秒前
LangChain初入门 - 简化LLM开发难度的利器
开发语言·python·langchain
sleven fung4 分钟前
llama-cpp-python 本地部署入门
开发语言·python·算法·llama
头歌实践平台6 分钟前
C++面向对象 - 运算符重载的应用
开发语言·c++·算法
福大大架构师每日一题6 分钟前
rust 1.96.0 更新:语言、编译器、Cargo、Rustdoc、兼容性全面升级,必看完整解读
android·开发语言·rust
思麟呀7 分钟前
C++11并发编程:互斥锁
linux·开发语言·c++·windows
郭涤生16 分钟前
C++ 各类数据的内存分区与读写性能详解
开发语言·c++
Pluchon17 分钟前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
j_xxx404_18 分钟前
Linux 线程日志系统设计:从策略模式、RAII 到 pthread 线程安全与内核写入路径|附源码
linux·运维·服务器·开发语言·c++·人工智能·策略模式
方也_arkling31 分钟前
【Java-Day13】内部类
java·开发语言
INGNIGHT33 分钟前
984.不含 AAA 或 BBB 的字符串(贪心)
开发语言·算法·leetcode