C# List应用 Lambda 表达式
参考链接 : https://blog.csdn.net/wori/article/details/113144580
首先 => 翻译为{ }
然后没有然后
主要基于我工作中常用的几种情况,写个小例子:
这个Java叫实体类,C#不知道叫啥
public class Zoo
{
public int ID { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public int Location { get; set; }
public float Money { get; set; }
public Zoo(int iD, string name, string type, int location, float money)
{
ID = iD;
Name = name;
Type = type;
Location = location;
Money = money;
}
}
然后测试几种情况:
static void Main()
{
List<Zoo> lists = new List<Zoo>();
Zoo z = new Zoo(001, "tiger", "Tiger", 21, 50);
Zoo z1 = new Zoo(002, "tiger1", "Tiger", 21, 20);
Zoo z2 = new Zoo(003, "tiger3", "Tiger", 21, 30);
Zoo z3 = new Zoo(004, "tiger4", "Cat", 22, 40);
Zoo z4 = new Zoo(005, "cat", "Cat", 22, 70);
Zoo z5 = new Zoo(006, "lion", "BigStone", 20, 40);
lists.Add(z);
lists.Add(z1);
lists.Add(z2);
lists.Add(z3);
lists.Add(z4);
lists.Add(z5);
//挑出其中的符合要求的:我这里写死要求为3、4、5
List<Zoo> tigers = lists.FindAll(x =>x.ID>2&&x.ID<6);
foreach (var item in tigers)
{
Console.WriteLine(item.ID+"\t"+item.Name);
}
//挑出符合要求且返回新集合,此处测试返回string列表
//Where 中为bool类型表达式
//Select 中为需要的形式: 如下面要返回Zoo,而不是string, 则 Select(e=>e)
//最后的ToList是确定返回类型,根据实际需要
List<string> zoos = lists.Where(x => (x.Money + 10) < 70).Select(e=>e.Name).ToList();
foreach (var item in zoos)
{
Console.WriteLine(item);
}
//返回单个符合要求的
Console.WriteLine(lists.Find(x => x.Money==40 && x.Name.Contains("ger")).Type);
}
结果:
3 tiger3
4 tiger4
5 cat
tiger
tiger1
tiger3
tiger4
lion
Cat
C# List应用 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快速开发框 ...
- Lambda 表达式递归用法实例
注意: 使用Lambda表达式会增加额外开销,但却有时候又蛮方便的. Windows下查找子孙窗口实例: HWND FindDescendantWindows(HWND hWndParent, LPC ...
- Spark中Lambda表达式的变量作用域
通常,我们希望能够在lambda表达式的闭合方法或类中访问其他的变量,例如: package java8test; public class T1 { public static void main( ...
- 释放Android的函数式能量(I):Kotlin语言的Lambda表达式
原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-o ...
随机推荐
- Linux(ubuntu18)下 Qt linguist 在哪里 找不到
1.首先找到Qt安装目录. 2.通过命令查找linguist. find . -name linguist 3.制作桌面快捷方式. 在/usr/share/applications目录下新建lingu ...
- Gitee三方登录_Python (超详细)
第三方登录是一种常见的身份验证机制,允许用户使用他们在其他平台(如社交媒体.电子邮件服务或开发平台)的账号来登录你的应用或网站,而不需要创建新的用户名和密码.这种方式不仅简化了用户的登录过程,还提高了 ...
- openEuler欧拉使用rc.local实现开机自启动
设置权限 chmod 775 /etc/rc.local 普通的单条是,直接写在rc.local里 /usr/local/nacos/bin/startup.sh -m standalone 复杂点 ...
- VB 的一些歧义(不断更新)
foo . bar 它可能是 foo.bar() 也可能是 foo(withObj.bar). f (a) , b 它可能是 call f(a)._DEFAULT(a)(Missing, b) 也可能 ...
- 【Javaweb】【Maven】【Tomcat10】jsp访问正常,Servlet访问404
Development Tool:IDEA(Intellij IDEA) Tomcat-Version:10 JDK-version:17 情况描述 我使用Tomcat10运行项目,jsp正常访问,但 ...
- 鲲鹏cpu
cat /etc/openEuler-release sudo dmidecode -t processor |grep Version lscpu
- Qt音视频开发26-ffmpeg播放器
一.前言 用ffmpeg来实现自己的播放器,这是一直以来的一个目标,之前的难点卡在音视频同步以及如何播放声音这两点(尽管之前已经进行过不少的尝试和探索,但是问题还是挺多,比如音视频同步不完美,有些文件 ...
- [转]CSS、LESS和SASS(SCSS)的区别以及Ruby Sass、LibSass、Node Sass、Dart Sass之间的关系
随着前端开发的不断发展,CSS也逐渐延伸出了很多新的语言,less和Sass就是其中两种,下面我们就一起来看看它们到底有何区别. SASS和LESS SASS(英文全称:Syntactically A ...
- Circos软件学习
circos 是一款perl 语言开发的画图软件,提供了染色体相关数据的一种可视化方式.其制作的图表精美,被科研工作者广泛使用.Circos可以对染色体相关数据进行可视化,以每条染色体为一个扇区,组成 ...
- Solution -「ROI 2018」「LOJ #2850」无进位加法
\(\mathscr{Description}\) Link. 给定 \(\{a_n\}\),每次令某个 \(a_i\leftarrow a_i+1\),最终得到 \(\{b_n\}\),求 ...