首页 > 其他分享 >委托类型 函数别名 函数代理 函数指针

委托类型 函数别名 函数代理 函数指针

时间:2024-08-31 11:53:01浏览次数:10  
标签:函数 委托 int void 别名 Add 函数指针 Subtract operation

# 委托类型 函数别名

DeleGate\Program.cs


using System;

class Program
{
    // 定义一个委托类型
    public delegate void OperationDelegate(int x, int y);

    public static void Add(int x, int y)
    {
        Console.WriteLine($"Adding {x} and {y}: Result = {x + y}");
    }

    public static void Subtract(int x, int y)
    {
        Console.WriteLine($"Subtracting {y} from {x}: Result = {x - y}");
    }

    /// <summary>
    /// 1. 委托类型的参数可以看作是相同参数类型方法的别名
    /// 2. 通过这个别名来临时切换要执行的函数
    /// </summary>
    /// <param name="args"></param>
    static void Main(string[] args)
    {
        OperationDelegate operation;

        // 将方法 Add 分配给委托
        operation = Add;
        operation(5, 3); // 调用 Add 方法

        // 将方法 Subtract 分配给委托
        operation = Subtract;
        operation(5, 3); // 调用 Subtract 方法
    }
}

标签:函数,委托,int,void,别名,Add,函数指针,Subtract,operation
From: https://www.cnblogs.com/zhuoss/p/18390079

相关文章

  • 委托类型 事件触发 回调函数 按钮事件
    #委托类型事件触发回调函数按钮事件DelegateButton\DelegateButton.csproj<ProjectSdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>net9.0</TargetFramework><Implicit......
  • 05.函数和递归
    5.函数和递归inlinefunctions---内联函数functiontemplate---函数模板5.1C++中的程序构件functionprototype---函数原型5.1.1函数原型Afunctionprototypeisadeclarationofafunctionthattellsthecompilerthefunction’sname,itsreturntypeand......
  • io进程,标准io(函数接口)
    3.函数接口3.1打开文件fopenFILE*fopen(constchar*path,constchar*mode);功能:打开文件参数:path:打开的文件路径mode:打开的方式r:只读,当文件不存在时报错,文件流定位到文件开头r+:可读可写,当文件不存在时报错,文件流定位到文件开头w:只写,文件不存在创建,存在则清空w......
  • Python基础 3 - 函数及数据容器
    文章目录一、函数概念1、函数介绍2、函数的定义3、函数的调用4、函数说明文档5、函数嵌套调用6、变量作用域1)局部变量2)全局变量3)声明全局变量二、数据容器入门1、列表(list)1)列表的定义2)调用列表元素3)列表的方法4)列表的特点5)列表的遍历(迭代)6)列表的乘......
  • C语言文件相关函数
    目录一、引言二、文件函数概述  1.文件类型指针  2.常用文件函数三、文件函数使用详解  1.打开文件  2.关闭文件  3.写入文件  4.读取文件  5.二进制文件操作四、实战应用五、总结        本文将详细介绍C语言中文件函数的基本概念......
  • 线程(函数接口、同步、互斥、条件变量)
    线程Thread1.什么是线程1.1概念线程是一个轻量级的进程,为了提高系统的性能引入线程。线程和进程是参与统一的调度。在同一个进程中可以创建的多个线程,共享进程资源。(Linux里同样用task_struct来描述一个线程)1.2进程和线程区别相同点:都为系统提供了并发执行的......
  • 关于vue render函数的写法
    vNode只是用来描述DOM,自身不维护状态,messageBox只是利用vNode渲染DOM,要想实现messageBox内容响应式,需要提供Vue实例(组件):写一个这样的组件新建组件(customRadioGroup.js):importVuefrom"vue";constCustomInput=Vue.component("CustomRadioGroup",{props:["value"......
  • 【C语言】内存函数
    文章目录前言一、memcpy的使用和模拟实现1.memcpy的使用2.模拟实现memcpy函数二、memmove的使用和模拟实现1.memmove的使用2.模拟实现memmove函数三、memset函数的使用四、memcmp函数的使用前言`内存函数的头文件都是<string.h>介绍了memcpy、memmove、memset......
  • 什么是激活函数?零基础扫盲~
    我刚开始学习深度学习的时候,看到了这么一段话:作者把非线性激活函数(ReLU)用在了模型里,发现训练速度显著提高,原因在于传统用的是饱和非线性激活函数,例如tanh,训练时如果进入到饱和区域,那么会因为梯度变化过小而难以训练;而ReLU是一种非饱和非线性激活函数,接受阈是0~∞∞,不存在tan......
  • 对象切割 和 虚函数
    对象切割简介:当你将一个派生类对象赋值给一个基类对象时,只会保留基类部分的信息,派生类的特有信息会被丢弃。这就是所谓的对象切割(slicing)发生时刻:将派生类对象赋值给父类对象时,如下classFather{};classSon:publicFather{};Sons;Fatherf=s; //发生......