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();
    }
}
相关推荐
小樱花的樱花几秒前
4 文件选择对话框 QFileDialog
开发语言·c++·ui
xyq20243 分钟前
Python File 方法详解
开发语言
-Rane5 分钟前
【C++】红黑树
java·开发语言
leaves falling9 分钟前
深入浅出 C++ STL list:从入门到精通
开发语言·c++
饕餮争锋9 分钟前
Bash 简介
开发语言·bash
爱吃烤鸡翅的酸菜鱼27 分钟前
【Java】封装位运算通用工具类——用一个整数字段替代几十个布尔列,极致节省存储空间
java·开发语言·设计模式·工具类·位运算·合成复用原则
xinhuanjieyi30 分钟前
php给30支NBA球队添加logo图标,做好对应关系
android·开发语言·php
菜菜小狗的学习笔记33 分钟前
八股(三)Java并发
java·开发语言
唐青枫35 分钟前
C#.NET Mapperly 深入解析:源生成映射、安装使用与工程化取舍
c#·.net
一晌小贪欢1 小时前
PyQt5 开发一个 PDF 批量合并工具
开发语言·qt·pdf