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();
    }
}
相关推荐
咕白m62513 小时前
C# 高效复制 Word 文档内容
后端·c#
是梦终空11614 小时前
C++中的职责链模式变体
开发语言·c++·算法
mjhcsp14 小时前
C++遗传算法(Genetic Algorithm,GA):进化式全局优化的核心解析
开发语言·c++
燕山罗成15 小时前
JAVA多线程基础
java·开发语言
Yvonne爱编码15 小时前
JAVA数据结构 DAY7-二叉树
java·开发语言·数据结构
Rolay15 小时前
打印功能开发历程,解决百分之九十九的打印需求
c#·打印机·c#打印优化
En^_^Joy15 小时前
JavaScript入门指南:从零到精通
开发语言·javascript
于先生吖16 小时前
2026 新版 Java 同城上门家政服务系统源码 完整可运营
java·开发语言
MIXLLRED16 小时前
Python模块详解(一)—— socket 和 threading 模块
开发语言·python·socket·threading
csbysj202016 小时前
桥接模式(Bridge Pattern)
开发语言