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();
    }
}
相关推荐
Rabitebla4 分钟前
C++ 入门基础:从 C 到 C++ 的第一步
c语言·开发语言·c++
西魏陶渊明6 分钟前
解决异步挑战:Reactor Context 实现响应式上下文传递
开发语言·python
小则又沐风a11 分钟前
C++内存管理 C++模板
开发语言·c++
不会写DN11 分钟前
如何给 Go 语言的 TCP 聊天服务加上 ACK 可靠送达机制
开发语言·tcp/ip·golang
小李云雾15 分钟前
FastAPI 后端开发:文件上传 + 表单提交
开发语言·python·lua·postman·fastapi
llm大模型算法工程师weng21 分钟前
Python敏感词检测方案详解
开发语言·python·c#
fengci.22 分钟前
php反序列化(复习)(第二章)
android·开发语言·学习·php
ZHENGZJM24 分钟前
后端基石:Go 项目初始化与数据库模型设计
开发语言·数据库·golang
拾贰_C25 分钟前
【Claude Code | bash | install】安装Claude Code
开发语言·bash
会编程的土豆27 分钟前
【数据结构与算法】堆排序
开发语言·数据结构·c++·算法·leetcode