CSharp的lambda表达式的使用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading;
using System.Threading.Tasks; // 命名空间
namespace pro01
{
// 类
internal class Program
{
// main 方法
static async Task Main(string[] args)
{
// Action 没有返回值
Console.WriteLine("委托");
Action f1 = delegate () {
Console.WriteLine("我是无参的委托!!");
};
f1();
Action<string ,int> f2 = delegate (string name, int i)
{
Console.WriteLine($"我是有参的委托 参数是 {name}{i}");
};
f2("参数o",100);
// 带返回值的 Func ps: Func 的泛型<> 要比()形参的个数多一个 因为多了一个返回值的类型
// 最后一个泛型就是返回值
// 匿名函数就是函数表达式 就是 箭头函数
Func<int,int,int,string> fn3 = delegate (int i,int j,int z)
{
return (i + j + z).ToString();
};
Console.WriteLine(fn3(1,2,3)); // 6 // 改装成箭头函数(lambada表达式) 新参的类型可以褪去 因为可以推断
Func<string, string> fn4 = (name) =>
{
Console.WriteLine($"这里是匿名函数{name}");
return name;
};
Console.WriteLine(fn4("lambda表达式")); // 没有返回值的 而且 只有一行代码 时候可以不写 {}
Action fn5 = () => Console.WriteLine("省咯大括号");
fn5(); Console.ReadLine();
} }
}
CSharp的lambda表达式的使用的更多相关文章
- .NET委托,事件和Lambda表达式
委托 委托是什么? 委托是一种引用类型(其实就是一个类,继承MulticastDelegate特殊的类.),表示对具有特定参数列表和返回类型的方法的引用. 每个委托提供Invoke方法, BeginI ...
- Lambda表达式学习记录
Lambda表达式可以简化C#编程的某些方面,用法非常灵活.因此也不容易掌握. 下边是我学Lambda表达式的一点记录. 1.Lambda表达式是与委托紧密联系的.只要有委托参数类型的地方,就可以使用 ...
- C# Lambda表达式详细总结
(一)输入参数 在Lambda表达式中,输入参数是Lambda运算符的左边部分.它包含参数的数量可以为0.1或者多个.只有当输入参数为1时,Lambda表达式左边的一对小括弧才可以省略.输入参数的数量 ...
- 你知道C#中的Lambda表达式的演化过程吗?
那得从很久很久以前说起了,记得那个时候... 懵懂的记得从前有个叫委托的东西是那么的高深难懂. 委托的使用 例一: 什么是委托? 个人理解:用来传递方法的类型.(用来传递数字的类型有int.float ...
- Linq表达式、Lambda表达式你更喜欢哪个?
什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ...
- 背后的故事之 - 快乐的Lambda表达式(一)
快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜.它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能 ...
- Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)
作者:Antonio Leiva 时间:Jan 5, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin/ 由于Lambda表达式允许更简单的方式建模式 ...
- java8中lambda表达式的应用,以及一些泛型相关
语法部分就不写了,我们直接抛出一个实际问题,看看java8的这些新特性究竟能给我们带来哪些便利 顺带用到一些泛型编程,一切都是为了简化代码 场景: 一个数据类,用于记录职工信息 public clas ...
- 背后的故事之 - 快乐的Lambda表达式(二)
快乐的Lambda表达式 上一篇 背后的故事之 - 快乐的Lambda表达式(一)我们由浅入深的分析了一下Lambda表达式.知道了它和委托以及普通方法的区别,并且通过测试对比他们之间的性能,然后我们 ...
- CRL快速开发框架系列教程二(基于Lambda表达式查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
随机推荐
- 【Vue】 签名组件
一.需求背景: 检查业务,检查完成后,执行人需要签字证明检查完成 二.实现效果: 三.技术实现 通过canvas转换成blob对象,可以上传到文件服务,或者是下载另存为到本地磁盘 注意重点,canva ...
- python性能分析器:line_profiler
代码: import line_profiler import sys def test(): for i in range(0, 10): print( i**2 ) print("End ...
- AI机器人——人形机器人、双足机器人、四足机器人 —— 组成构建有哪些?
参考: https://www.youtube.com/watch?v=dLELvoFt_iA
- Python网络连接request报错:OSError: [Errno 113] No route to host
报错: (pytorch) devil@Monster:~$ huggingface-cli login _| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _ ...
- CF1051F题解
The Shortest Statement 算法:树链剖分,最小生成树,最短路. 先讲一下题意:有一个 \(n\) 点 \(m\) 边的无向连通图,\(q\) 次询问,每次询问 \(a\) 到 \( ...
- IP一致性论文
IP一致性:指的是给定输入的图像,要求保持图像中的ID不变,IP可能是Identity Property,要求能够识别出是同一个身份. 目前通过IP的一致性技术,可以用于短视频短剧上,是一个新兴的市场 ...
- mongodb 中嵌套数组的且查询
如果在mongodb中存在如下数据 { audit:{ experts:[{expertId:"1",result:"success",......} {exp ...
- Zsh 配置
基本配置 安裝 Zsh: # Ubuntu/Debian sudo apt install zsh # macOS brew install zsh macOS 默认使用 Zsh,可以不用重复安装. ...
- Linux 内核相关命令
Shell 命令: ipcs # 查看共享内存 dmesg # 显示内核消息 sudo dmesg -c # 清空内核消息 sudo mknod /dev/rwbuf c 60 0 sudo insm ...
- 使用 Gradle 构建包含所有依赖的 JAR 包
在 Gradle 中构建一个包含所有依赖的 jar 包(通常被称为"fat jar"或者"uber jar"),你可以使用 shadowJar 插件来包含编译的 ...