C# 委托Action和Func
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的更多相关文章
- 关于线程间操作无效: 从不是创建控件“xx”的线程访问它,错误解决方法(自定义委托和系统委托Action或Func解决)
这是一个线程不安全的问题.跨线程操作问题. 比如我们需要在线程中改变textbox的文本,textbox的name是txtShowMsg 第一种方法(不推荐使用) 在窗体构造函数中写Control.C ...
- C#委托(Action、Func、predicate)
Predicate 泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. public delegate boo ...
- 系统内置委托Action和func
Action委托, action是系统内置的委托,它可指向无返回值,没有参数的方法. using System; using System.Collections.Generic; using Sys ...
- C#中匿名函数、委托delegate和Action、Func、Expression、还有Lambda的关系和区别
以前一直迷迷糊糊的,现在总算搞明白. Lambda表达式 Lamda表达式基本写法是()=>{ };Lambda和方法一样都可以传入参数和拥有返回值.(int x)=>{return x; ...
- Aap.Net中的Action和Func委托
前言 最近在阅读某开源框架源码的时候,发现作者在其中运用了很多Action委托和Func委托,虽然我之前在项目中也有一些对委托的实操,但还是免不了长时间的不用,当初消化的一些委托基础都遗忘了...索性 ...
- C#扫盲篇(三):Action和Func委托--实话实说
一.基础定义 老王想找老张的老婆出去耍,但是一看,老张还在厨房煮饭.于是老王就对老张隔壁的淑芬说:"等下老张吃完饭出去喝茶,你就把前门晒的苞谷收了,老张从左门出,你就收右边的苞谷,我就知道从 ...
- C#委托的介绍(delegate、Action、Func、predicate)
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1.委托的声明 (1). delegate delegate我们常用到的一种声明 Deleg ...
- C#委托的介绍(delegate、Action、Func、predicate) --转载
来源:http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1 ...
- C#系统委托之Action And Func
Action Action<T> Func Func<T> Action:封装一个方法,该方法不具有参数并且不返回值 public delegate void Action() ...
- Action<>和Func<> 委托【代理】
C#中的Action<>和Func<> 其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的 ...
随机推荐
- GienTech动态|入选软件和信息技术服务竞争力百强;参展世界计算大会、网络安全博览会
---- GienTech动态 ---- 中电金信参展广东省网络安全博览会.世界计算机大会 近期,中电金信跟随中国电子参展2023年广东省网络安全博览会(下简称"博览会&qu ...
- maven打jar包运行main方法
pom文件添加上这段 <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</ ...
- Qt开源作品44-超级曲线图表
按照国际惯例,先吹吹牛,QCustomPlot这个开源图表组件,作者绝对是全宇宙Qt领域的天花板,设计的极其巧妙和精美,各种情况都考虑到了,将每个功能细分到不同的类,每个类负责管理自己的绘制和各种属性 ...
- Qt编写地图综合应用26-覆盖物交互
一.前言 百度地图本身提供了非常友好完善的JS函数接口用于添加各种覆盖物,比如标注点.矩形区域.圆形区域.不规则线段.弧形等,基本上涵盖了各种应用场景,官方的文档和示例也是比较完善的,虽然示例用的都是 ...
- Qml 中实现毛玻璃效果
[写在前面] 毛玻璃效果(Acrylic Effect)是一种常见的 UI 设计风格,它通过模糊背景并添加透明度和噪声效果,使界面元素看起来像是半透明的磨砂玻璃. 本文将介绍如何使用 Qml 实现这种 ...
- .NET Core + Kafka 开发指南
什么是Kafka Apache Kafka是一个分布式流处理平台,由LinkedIn开发并开源,后来成为Apache软件基金会的顶级项目.Kafka主要用于构建实时数据管道和流式应用程序. Kafka ...
- Solution Set - “说选个晴日,露能滴出彩虹”
目录 0.「BZOJ #3457」Ring 1.「CF 1824C」LuoTianyi and XOR-Tree 2.「CF 1824D」LuoTianyi and the Function 3.「C ...
- Netty5 服务端和客户端-copy
概述netty 5 已经放弃掉了,作为学习netty4和5的差别不大,本例子是基于netty5 https://github.com/netty/netty/issues/4466 线程安全一个thr ...
- Springboot 整合 xxl-job
前言 很久很久以前写过好几篇关于定时任务的使用系列的文章: 这一篇是最简单的,就是单纯跑跑定时任务,那你看这篇就行,没必要用xxljob(因为xxljob要跑服务端,然后自己服务作为客户端接入): 文 ...
- Java 链表API
Java 链表 1.什么是链表? 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的. 每一个链表都包含多个节点,节点又包含两个部分: 1)一个是数据 ...