c#————委托Action使用例子

embedded/2024/11/22 13:08:56/

1.

using System;public class Program
{// 定义一个符合Action<int>签名的方法public static void PrintNumber(int number){Console.WriteLine("The number is: " + number);}public static void Main(string[] args){// 实例化一个Action<int>委托,并指向PrintNumber方法Action<int> printAction = PrintNumber;// 调用委托,传递一个整数参数printAction(42);// 你也可以直接将方法作为参数传递给另一个方法,而无需显式创建委托实例PerformAction(PrintNumber, 100);}// 一个接受Action<int>作为参数的方法public static void PerformAction(Action<int> action, int value){// 调用传入的委托action(value);}
}

2.

using System;class Program
{static void Main(string[] args){// 定义几个方法void PrintNumber(int number){Console.WriteLine($"Number: {number}");}void DoubleAndPrint(int number){Console.WriteLine($"Double: {number * 2}");}void SquareAndPrint(int number){Console.WriteLine($"Square: {number * number}");}// 创建一个Action<int>委托,并添加多个方法Action<int> printAction = PrintNumber;printAction += DoubleAndPrint;printAction += SquareAndPrint;// 调用委托,将依次执行所有附加的方法printAction(5);}
}

在这个例子中,我们定义了三个方法:PrintNumberDoubleAndPrint 和 SquareAndPrint。然后我们创建了一个 Action<int> 类型的委托 printAction,并将这三个方法都附加到了这个委托上。当我们用参数 5 调用 printAction 时,它会依次执行这三个方法,输出结果如下:

Number: 5
Double: 10
Square: 25

这样,你就可以通过将一个 Action<int> 委托与多个方法关联,实现更复杂的逻辑。如果你想要在某个时刻移除某个方法,也可以使用 -= 运算符,例如:

printAction -= DoubleAndPrint;

这将从委托中移除 DoubleAndPrint 方法,使得再次调用 printAction 时不再执行该方法。


http://www.ppmy.cn/embedded/139629.html

相关文章

科研深度学习:如何精选GPU以优化服务器性能

GPU在科研深度学习中的核心价值 在科研深度学习的范畴内&#xff0c;模型训练是核心环节。面对大规模参数的模型训练&#xff0c;这往往是科研过程中最具挑战性的部分。传统CPU的计算模式在处理复杂模型时&#xff0c;训练时间会随着模型复杂度的增加而急剧增长&#xff0c;这…

解决docker报Error response from daemon Get httpsregistry-1.docker.iov2错误

解决docker报Error response from daemon: Get "https://registry-1.docker.io/v2/"错误 报错详情 首先先看一下问题报错效果,我想要拉去nacos-serve&#xff1a;1.1.4的镜像&#xff0c;报如下错误&#xff0c;从报错信息可以看到&#xff0c;用于网络的愿意&…

2024年11月最新 Alfred 5 Powerpack (MACOS)下载

在现代数字化办公中&#xff0c;我们常常被繁杂的任务所包围&#xff0c;而时间的高效利用成为一项核心需求。Alfred 5 Powerpack 是一款专为 macOS 用户打造的高效工作流工具&#xff0c;以其强大的定制化功能和流畅的用户体验&#xff0c;成为众多效率爱好者的首选。 点击链…

数字图像处理(c++ opencv):彩色图像处理-彩色基础与彩色模型

彩色图像基础 颜色特性&#xff1a;亮度、色调、饱和度 &#xff08;1&#xff09;亮度&#xff1a;即强度&#xff0c;如灰度值 &#xff08;2&#xff09;色调&#xff1a;混合光波中的主导光波属性&#xff0c;即被观察者感知的主导色。如描述一个物体为红色&#xff0c;就…

三、计算机视觉_06YOLO基础知识

1、YOLO概述 1.1 定义 YOLO&#xff08;You Only Look Once&#xff09;是一种流行的对象检测和图像分割模型&#xff0c;由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 于 2015 年推出&#xff0c;因其高速和准确性而迅速受到欢迎 在目标检测领域&#xff0c;传统方法&…

前端常用内容

Style 1. 文本左对齐 style"text-align: left;" 2. 文本居中 style"text-align: center;" 3. 文本右对齐 style"text-align: right;"margin 属性可以设置以下四种类型的外边距&#xff1a; 1. 单一值&#xff1a;为所有四个方向&#xff08;上、…

鸿蒙学习高效开发与测试-应用程序框架和HarmonyOS SDK(3)

文章目录 1、应用程序框架1、规范化后台进程管理2、原生支持分布式3、支持多设备的统一窗口管理4、 组件共享及面向对象5、逻辑与界面解耦6、灵活扩展机制2、HarmonyOS SDK1、 开放能力 Kit2、开放能力的检索和使用3、 方舟工具链4、前端编译器架构1、应用程序框架 应 用 程 序…

InnoDB存储引擎对MVCC的实现

MVCC 是一种并发控制机制&#xff0c;用于在多个并发事务同时读写数据库时保持数据的一致性和隔离性。它是通过在每个数据行上维护多个版本的数据来实现的。当一个事务要对数据库中的数据进行修改时&#xff0c;MVCC 会为该事务创建一个数据快照&#xff0c;而不是直接修改实际…