首页 > 编程语言 >C#中的Action

C#中的Action

时间:2024-07-21 18:55:31浏览次数:10  
标签:委托 C# 创建 类型 参数 Action

        C#中的Action是一种委托类型,‌用于引用不返回值的方法。‌Action可以接受0到16个参数,‌并且不返回任何值。‌它是一种通用的委托类型,‌非常方便用于处理不同参数和不同函数签名的情况。‌Action的用法包括声明Action委托类型、‌创建Action实例并赋值给委托变量、‌以及调用Action。‌

  • 声明Action委托类型:‌可以通过Action关键字声明一个Action类型的变量,‌例如Action action;。‌如果需要指定参数类型,‌可以使用Action<T>,‌其中T是参数的类型,‌例如Action<int> actionWithInt;Action<string, int> actionWithStringAndInt;。‌

  • 创建Action实例并赋值给委托变量:‌可以使用Lambda表达式创建Action实例并赋值给委托变量。‌例如,‌创建一个不接受参数的Action可以通过action = () => { Console.WriteLine("Action without parameters"); };来实现。‌同样地,‌带有参数的Action可以通过类似的方式创建,‌例如actionWithInt = (x) => { Console.WriteLine($"Action with int parameter: {x}"); };。‌

  • 调用Action:‌创建的Action可以通过直接调用其引用的方法名来执行,‌例如action();会执行Lambda表达式中定义的代码块,‌输出"Action without parameters"。‌对于带有参数的Action,‌可以通过传递参数来调用,‌例如actionWithInt(10);会输出"Action with int parameter: 10"。‌

        Action提供了一种灵活且类型安全的方式来封装和传递无返回值的方法,‌并且可以通过Lambda表达式方便地创建匿名方法作为参数传递。‌这使得Action在C#编程中非常有用,‌可以用于执行不返回值的任何操作,‌如打印消息、‌更新状态等

标签:委托,C#,创建,类型,参数,Action
From: https://blog.csdn.net/huaqianzkh/article/details/140591951

相关文章

  • 01 C#的基本语法概念A
    (一)C#程序结构usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacenetBasic_learning{//类的定义classRectangle{//(1)属性doublelength;doublewidth;//(2)方法publicvoidAcceptdet......
  • Elasticsearch 入门实战(8)--REST API 使用二(Search API)
    本文继续上文(Elasticsearch入门实战(3)--RESTAPI使用一(CAT,Index,Document,IngestAPI))介绍ElasticsearchRESTAPI,相关的环境及软件信息如下:CentOS 7.6.1810、Elasticsearch8.13.4。1、SearchAPIs1.1、CountAPI(查询文档数量)语法:GET/<target>/_count样例:cu......
  • Codeforces Round 958 (Div. 2)
    A.SplittheMultisetForexample, {2,2,4} isamultiset.Youhaveamultiset ......
  • /etc/hosts与域名解析
    `/etc/hosts`是一个计算机文件,用于在Unix和类Unix操作系统(比如Linux、macOS等)中映射主机名和IP地址。它允许将特定的主机名映射到指定的IP地址,从而绕过DNS解析过程,实现本地对特定主机名的自定义解析。通常情况下,`/etc/hosts`文件包含了一些基本的条目示例,如:```127.0.0.1loc......
  • I2C设备地址 TargetAddress 24LC04
    说明I2C在总线上支持N-2-N,因此需要用地址来区分设备。一次完整的传输,总是START起始信号之后紧跟设备地址和读写标志。设备地址那么设备地址如何查看和定义的呢?设备地址对应第一个BYTE的BIT7-BIT1,BIT0对应读写标志I2C协议规定,除了0000XXX和1111XXX之外,其他地址均......
  • 『模拟赛』暑假集训CSP提高模拟4
    Rank一次比一次烂了,鉴定为不写模拟赛记录导致的。A.WhiteandBlack原题ARC148C被自己误导了,导致菊花和链的部分分没拿到。经验++对于每个点的父节点若有$1\lef_i\lti$,则该图构成的菊花图根可能为\(1\)或\(2\),链则不确定首尾。Subtask越来越不好判了www思......
  • NSSCTF———Web(sql注入)
    [LitCTF2023]这是什么?SQL!注一下![SWPUCTF2022新生赛]ez_sql[GXYCTF2019]BabySqli                                     点击右下角文章可跳转[LitCTF2023]这是什么?SQL!注一下!首先我们打开......
  • 解决: Cannot load information for github.com
    问题在共享项目至idea时候出现:IamgettingthiserrorwhilesharingonGithHubinIntellijeIDEA:Cannotloadinformationforgithub.com/:Requestresponse:Accesstothissitehasbeenrestricted.Ifyoubelievethisisanerror,pleasecontacthttps://suppor......
  • LLM-01 大模型 本地部署运行 ChatGLM2-6B-INT4(6GB) 简单上手 环境配置 单机单卡多卡
    搬迁说明之前在CSDN上发文章,一直想着努力发一些好的文章出来!这篇文章在2024-04-1710:11:55已在CSDN发布写在前面其他显卡环境也可以!但是最少要有8GB的显存,不然很容易爆。如果有多显卡的话,单机多卡也是很好的方案!!!背景介绍目前借到一台算法组的服务器,我们可以查看一下......
  • springsecurity使用:登录与校验
    首先是引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>默认方案:首次使用这个空项目的时候他会给你一个默认的账号账号名为user密码在控......