C# Action用法

Action是无返回值的泛型委托

可以使用 Action<T1, T2, T3, T4> 委托以参数形式传递方法,而不用显式声明自定义的委托。封装的方法必须与此委托定义的方法签名相对应。也就是说,封装的方法必须具有四个均通过值传递给它的参数,并且不能返回值。(在 C# 中,该方法必须返回 void)通常,这种方法用于执行某个操作。

1、Action 表示无参,无返回值的委托

2、 Action<int,string> 表示有传入参数int,string无返回值的委托

3、Action<int,string,bool> 表示有传入参数int,string,bool无返回值的委托

  4、 Action<int,int,int,int> 表示有传入4个int型参数,无返回值的委托

5、 Action至少0个参数,至多16个参数,无返回值。

class Program{static void Main(string[] args){//循环调用,action不传参List<Action> actions = new List<Action>();for (int i = 0; i < 10; i++){//因为是按地址传递参数,所以要声明变量,不如结果都是10int k = i;actions.Add(() => Console.WriteLine(k));}foreach (Action a in actions){a();}//传递两个参数Action<string, int> action = new Action<string, int>(ShowAction);Show("张三",29,action);//传递一个参数Show("张三",o=>Console.WriteLine(o));//不传递参数调用Show(()=>Console.WriteLine("张三"));}public static void ShowAction(string name, int age){Console.WriteLine(name + "的年龄:" + age);}public static void Show(string name, int age, Action<string, int> action){action(name, age);}public static void Show(string name, Action<string> action){action(name);}public static void Show(Action action){action();}}

输出结果:

0
1
2
3
4
5
6
7
8
9
张三的年龄:29
张三
张三

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python让函数抛出异常,是否有任何对象可以使str()函数在python中抛出错误或异常?...

我有一个函数,要求输入是一个字符串.我知道我可以断言或检查输入类型,但我想尽可能地处理它.我有以下代码来处理它.但我想知道是否有任何情况,这一行可以抛出我需要处理的异常.def foo(any_input):clean_input str(any_input) # will this throw any exception or error?proc…

双十一,单身狗除了买买买,还能做什么?

躲得过618&#xff0c;躲得过1024终究躲不过双十一小天相信&#xff0c;肯定有很多的小伙伴正磨刀霍霍对准自己的手这个节日小天陪你们买买买&#xff01;11月6~13日超级数学建模携手网易云课堂“超级充电节”为大家带来多重惊喜&#xff0c;福利享不停&#xff01;趁此机会赶紧…

将 SharePoint 开发与其他形式的开发进行比较

从三个视点检查 SharePoint 开发很有用&#xff1a; 为 .NET Framework 构建可扩展的应用程序 构建数据库应用程序 构建传统的富客户端应用程序将 SharePoint 应用程序与可扩展的 .NET Web 应用程序进行比较 您可以从开发人员的角度检查 SharePoint 开发&#xff0c;该开发人员…

Visual Studio 2022这些重大更新,影响每一位.NET开发者!

难得五一长假&#xff0c;蹲家里盘点了一下这2年.NET的发展&#xff0c;可谓日新月异&#xff0c;重现辉煌&#xff0c;各种重磅更新接踵而至&#xff1a;1 .NET Core3.1各种最受欢迎、性能排行等榜单霸榜&#xff0c;3个月增加100w的关注者&#xff1b;2 .NET5让.NET Framewor…

父与子一起学python3,父与子的编程之旅 与小卡特一起学Python 第3版(全彩印刷)...

章 出发吧 11.1 安装Python 11.2 从IDLE启动Python 21.3 来点指令吧 31.4 与Python交互 51.5 该编程了 71.6 运行你的个程序 91.7 如果出现问题 101.8 你的第二个程序 12第2章 记住内存和变量 152.1 输入、处理、输出 152.2 名字 172.3 名字里是什么 212.4 数字和字符串 222.5 …

影响计算机算法世界的十位大师

全世界有3.14 % 的人已经关注了数据与算法之美1、伟大的智者——Don E.Knuth&#xff0c;中文名&#xff1a;高德纳(1938-)算法和程序设计技术的先驱者。Oh,God!一些国外网站这样评价他。一般说来&#xff0c;不知道此人的程序员是不可原谅的。其经典著作《计算机程序设计艺术》…

【翻译】WPF中的数据绑定表达式

有很多文章讨论绑定的概念&#xff0c;并讲解如何使用StaticResources和DynamicResources绑定属性。这些概念使用WPF提供的数据绑定表达式。在本文中&#xff0c;让我们研究WPF提供的不同类型的数据绑定表达式。介绍数据绑定是一种强大的技术&#xff0c;它允许数据在UI元素和业…

java网络编程 个人心得

TCP协议是一个有连接可靠地协议。TCP编程的核心思路 开发服务器端ServerSocket ssnew ServerSocket(9000)ss.accept(); publicclassTcpServer {publicstaticvoidmain(String[] args) {try{ServerSocket ssnewServerSocket (9000);//创建SocketServer对象,并绑定端口Socket sss…

php对表格的处理,JavaScript_js处理表格对table进行修饰,js处理表格 1、行颜色间隔显示 - phpStudy...

js处理表格对table进行修饰js处理表格1、行颜色间隔显示css样式&#xff1a;两个选择器.one{background-color:#33ffcc;}.two{backgound-color:#ffff66;}function trcolor()//控制间隔行颜色显示不同{var tabNode document.getElementsByTagName("table")[0];//获取…

12个关键词,告诉你到底什么是机器学习

全世界只有3.14 % 的人关注了数据与算法之美编者按&#xff1a;随着人工智能(AI)技术对各行各业有越来越深入的影响&#xff0c;我们也更多地在新闻或报告中听到“机器学习”、“深度学习”、“增强学习”、“神经网络”等词汇&#xff0c;对于非专业人士来说略为玄幻。这篇文章…

WPF实现实现圆形菜单

WPF开发者QQ群&#xff1a; 340500857 有小伙伴需要实现圆形菜单。效果如下&#xff1a;一、Xaml代码如下<Window x:Class"WpfRoundMenu.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.mic…

MFC多语言实现方法

2019独角兽企业重金招聘Python工程师标准>>> 一、字符放在DLL资源文件中&#xff0c;切换资源模块(程序默认使用exe模块资源)。 实现要点&#xff1a; 新建一个只包含资源的DLL。通过函数AfxSetResourceHandle设置资源模块。 示意代码为&#xff1a; AfxSetResource…

oracle dbfile数,通过案例学调优之--Oracle参数(db_file_multiblock_read_count)

通过案例学调优之--Oracle参数(db_file_multiblock_read_count)应用环境&#xff1a;操作系统&#xff1a; RedHat EL55Oracle&#xff1a; Oracle 10gR2Oracle DB_FILE_MULTIBLOCK_READ_COUNT是Oracle比较重要的一个全局性参数&#xff0c;可以影响系统级别及sessioin级别。…

转行程序员后,我开始后悔没做这件事

全世界有3.14 % 的人已经关注了数据与算法之美程序 数据结构 算法 ——图灵奖得主&#xff0c;计算机科学家N.Wirth(沃斯)作为程序员&#xff0c;我们做机器学习也好&#xff0c;做python开发也好&#xff0c;java开发也好。有一种对所有程序员无一例外的刚需 —— 算法与数据…

Oracle应用集群详解

了解兼容性Oracle真正应用集群环境要运行与在同一群集数据库的不同版本的Oracle RAC的配置&#xff0c;还必须安装集群。例如&#xff0c;要运行在同一个集群Oracle9i和Oracle 10g&#xff1a;对于Oracle RAC节点上运行的Oracle9i数据库&#xff0c;您必须安装Oracle9i集群&…

工业互联网的两种极端想法和两点反思

目 录1. 概述2. 两种极端想法3. 两点反思1. 概述最近走访了很多企业&#xff0c;涉及到的行业包括&#xff1a;军工、特钢、有色、加工制造&#xff08;海洋钻井平台&#xff09;、建材、纺织等&#xff0c;在与不同的行业交流的过程中&#xff0c;我发现…

oracle重新编译package,如何有效的编译数据库中的失效对象(Package,trigger等)

在utlrp.sql脚本中&#xff0c;Oracle注释到&#xff1a;Rem utlrp.sql - UTiLity script Recompile invalid Pl/sql modulesRemRem DESCRIPTIONRem This is a fairly general script that can be used at any time toRem recompile all existing invalid PL/SQL modules in a …

兵马未至,数据先行,且看如何进行数据挖掘!

从数据中抽取信息从信息中挖掘知识随着大数据时代的到来&#xff0c;数据挖掘的重要性越发显著。可谓是兵马未至&#xff0c;数据先行。所谓数据挖掘&#xff0c;一般是指从大型数据库中将隐藏的预测信息抽取出来的过程&#xff0c;而更为精确的解释就是“从数据中挖掘知识”。…

微软加入字节码联盟,进一步开发支持Blazor 的WebAssembly技术

字节码联盟 (Bytecode Alliance)宣布已正式成为 501(c)(3) 非营利组织&#xff0c;参与组建的企业/组织包括 Fastly、英特尔、Mozilla 和微软&#xff0c;此外还邀请到了 Arm、DFINITY Foundation、Embark Studios、谷歌、Shopify 和加州大学圣地亚哥分校加入并成为正式会员。B…

印象笔记的试用印象

用过有道笔记&#xff0c;现在正在用麦库。总的来说&#xff0c;越来越依赖&#xff0c;感觉非常好用。现在已经超越我手机里的鲜果联播&#xff0c;成为第一常用的软件了。 不说麦库&#xff0c;最近听说evernote出了国内版&#xff0c;想起原来选择手机笔记软件时也比较过eve…