Action和Func是微软已经定义好的的两种委托类型,区别是Action是没有返回值的,而Func是需要返回值的。

 1             //Action内置委托的实例化及调用
2 //不带参数
3 Action myAction1 = () => { Console.WriteLine("这是一个Action委托的调用"); };
4 myAction1();
5 //带参数
6 Action<string> myAction2 = (str) => {
7 Console.WriteLine("这是一个带参数的Action委托调用,参数:{0}", str);
8 };
9 myAction2("HelloWorld!");
10 //多参数
11 Action<string, string> myAction3 = (str1, str2) => {
12 Console.WriteLine("这是一个带参数的Action委托调用,参数1:{0},参数2:{1}", str1, str2);
13 };
14 myAction3("1", "2");
15
16
17 //Func内置委托的实例化及调用
18 //只有Func<T>类型,多参数Func<T,T,T>,最后一个T为返回类型
19 Func<string> myFunc1 = () => "只有一个参数,就是返回类型";
20 Console.WriteLine(myFunc1());
21
22 Func<int, int, int> myFunc2 = (a, b) => { return a + b; };
23 Console.WriteLine("多参数的返回类型情况,返回值:" + myFunc2(100, 400).ToString());

C# 委托Action和Func的更多相关文章

  1. 关于线程间操作无效: 从不是创建控件“xx”的线程访问它,错误解决方法(自定义委托和系统委托Action或Func解决)

    这是一个线程不安全的问题.跨线程操作问题. 比如我们需要在线程中改变textbox的文本,textbox的name是txtShowMsg 第一种方法(不推荐使用) 在窗体构造函数中写Control.C ...

  2. C#委托(Action、Func、predicate)

    Predicate 泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. public delegate boo ...

  3. 系统内置委托Action和func

    Action委托, action是系统内置的委托,它可指向无返回值,没有参数的方法. using System; using System.Collections.Generic; using Sys ...

  4. C#中匿名函数、委托delegate和Action、Func、Expression、还有Lambda的关系和区别

    以前一直迷迷糊糊的,现在总算搞明白. Lambda表达式 Lamda表达式基本写法是()=>{ };Lambda和方法一样都可以传入参数和拥有返回值.(int x)=>{return x; ...

  5. Aap.Net中的Action和Func委托

    前言 最近在阅读某开源框架源码的时候,发现作者在其中运用了很多Action委托和Func委托,虽然我之前在项目中也有一些对委托的实操,但还是免不了长时间的不用,当初消化的一些委托基础都遗忘了...索性 ...

  6. C#扫盲篇(三):Action和Func委托--实话实说

    一.基础定义 老王想找老张的老婆出去耍,但是一看,老张还在厨房煮饭.于是老王就对老张隔壁的淑芬说:"等下老张吃完饭出去喝茶,你就把前门晒的苞谷收了,老张从左门出,你就收右边的苞谷,我就知道从 ...

  7. C#委托的介绍(delegate、Action、Func、predicate)

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1.委托的声明 (1). delegate delegate我们常用到的一种声明   Deleg ...

  8. C#委托的介绍(delegate、Action、Func、predicate) --转载

    来源:http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1 ...

  9. C#系统委托之Action And Func

    Action Action<T> Func Func<T> Action:封装一个方法,该方法不具有参数并且不返回值 public delegate void Action() ...

  10. Action<>和Func<> 委托【代理】

    C#中的Action<>和Func<> 其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的 ...

随机推荐

  1. 中电金信:ChatGPT一夜爆火,知识图谱何以应战?

              随着ChatGPT的爆火出圈     人工智能再次迎来发展小高潮      那么作为此前搜索领域的主流技术          知识图谱前路又将如何呢?   事实上,ChatGPT也 ...

  2. JAVA-通过大疆TSDK的API直接获取红外图片温度信息

    一.前言 看过很多关于大疆红外图片用TSDK取温的方式,但是网上能搜到的大部分教程都是通过官方下载文件smple编译出来的程序来取温,如果这样做,虽然确实也能够实现目的,但不得不说,不但会降低运行速度 ...

  3. 我的世界服务端插件安装 AuthMe用户登录插件安装

    Minecraft服务端插件安装-AuthMe用户登录插件安装 需要准备AuthMe插件 AuthMe-5.6.0.jar用户登录插件 例如使用/register <密码> <确认密 ...

  4. Spring Validation 校验

    概述 在 Web 应用中,客户端提交数据之前都会进行数据的校验,比如用户注册时填写的邮箱地址是否符合规范.用户名长度的限制等等,不过这并不意味着服务端的代码可以免去数据验证的工作,用户也可能使用 HT ...

  5. 人工生命(AL:Artificial life)兰顿蚂蚁多版本代码html\go\php\python\java

    背景介绍 人工生命(AL:Artificial life)这一概念由美国计算机科学家.人工生命领域创始人之一克里斯托弗・盖尔・兰顿(Christopher G. Langton)提出.1986 年,兰 ...

  6. Qt/C++编写精美输入法(历时十年迭代/可换肤/支持Qt4/5/6/win/linux/mac/嵌入式等)

    一.前言 大概是从2012年就开始研究用Qt写输入法,因为项目需要,嵌入式板子上,没有对应的输入法,当初使用过很多NVR,里面也是鼠标按下弹出输入法面板进行输入,可以切换数字和字母及中文,于是借鉴着操 ...

  7. Qt编写地图综合应用6-百度在线地图

    一.前言 百度在线地图的应用老早就做过,后面经过不断的完善才到今天的这个程序,除了基本的可以载入地图并设置一些相关的属性以外,还增加了各种js函数直接异步加载数据比如动态添加点.矩形.圆形.行政区划等 ...

  8. Windows 配置多版本JDK

    @ 目录 前言 简介 一.下载并安装多个JDK版本 二.配置环境变量 2.1 点击高级系统设置 2.2 选择环境变量 2.3 配置CLASSPATH 2.4 配置JAVA_HOME 2.5 配置Pat ...

  9. [转]C# 组合查询条件

    在我们开发过程中经常会遇见一些通过条件获取数据的功能,比如说获取我们的用户信息,查询输入框有用户姓名,部门,入职年份等等,但查询时可能只输入一个条件或多个条件,像这种不确定的查询时,我们应该如何处理. ...

  10. 基于AI底座的数智油气田参考架构

      基于AI底座的数智油气田参考架构 Architecture for Intelligent & Digital Oilfileds Based-on AI 王权 2024.12.29   ...