C# List LinQ Lambda 表达式
------------恢复内容开始------------
# 参考链接 : https://blog.csdn.net/wori/article/details/113144580
首先 => 翻译为{ }
然后 Where 中为bool类型表达式再然后 Select 中为需要的形式: 如下面要返回Zoo,而不是string, 则 Select(e=>e)然后没有然后
### 主要基于我工作中常用的几种情况,写个小例子:
这个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
https://www.cnblogs.com/dotnet261010/p/8278793.html
C# List LinQ Lambda 表达式的更多相关文章
- LinQ—Lambda表达式
概述 本篇博客主要解说lambda表达式,在这里将它的来龙去脉,主要是从托付,匿名函数这些方面过度讲的,当然,在讲托付和匿名函数的时候,主要是从Lambda的角度出发讲的,可能它们还具有其他的一些作用 ...
- Ext.ux.grid.feature.Searching 解析查询参数,动态产生linq lambda表达式
上篇文章中http://www.cnblogs.com/qidian10/p/3209439.html我们介绍了如何使用Grid的查询组建,而且将查询的参数传递到了后台. 那么我们后台如何介绍参数,并 ...
- 在Linq to sql 和 Entity framework 中使用lambda表达式实现left join
在Linq to sql 和 Entity framework 中使用lambda表达式实现left join 我们知道lambda表达式在Linq to sql 和 Entity framework ...
- Linq lamda表达式Single和First方法
让我们来看看如何对一个整数数组使用 Single 操作符.这个整数数组的每个元素代表 2 的 1 到 10 次方.先创建此数组,然后使用 Single 操作符来检索满足 Linq Lambda表达 ...
- ASP.NET EF(LINQ/Lambda查询)
EF(EntityFrameWork) ORM(对象关系映射框架/数据持久化框架),根据实体对象操作数据表中数据的一种面向对象的操作框架,底层也是调用ADO.NET ASP.NET MVC 项目会自动 ...
- Linq表达式、Lambda表达式你更喜欢哪个?
什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ...
- Linq表达式和Lambda表达式用法对比
什么是Linq表达式?什么是Lambda表达式?前一段时间用到这个只是,在网上也没找到比较简单明了的方法,今天就整理了一下相关知识,有空了再仔细研究研究 public Program() { List ...
- 关于Linq中的Lambda表达式中OrderBy的深入理解
起因:就是一段Linq语句,OrderBy里面的i是什么? IQueryable<Student> slist = (from s in EFDB.Student select s). O ...
- entity framework 新手入门篇(1.5)-lambda表达式与linq
在建立好了EF模型之后,先不着急使用它,在使用它之前,你还需要了解两个相关的技术,lambda表达式与linq. 作为微软C#语言中重要的语法糖-lambda表达式与LINQ,本质都是一个方法,以la ...
- Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式
当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left ...
随机推荐
- RPM 与 YUM
RPM 与 YUM rpm 包的管理 rpm 用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中.它生成具有.RPM 扩展名的文件.RPM是 RedHat Package Manag ...
- office重装后,office365弹窗去除的终极方法
Office重装后,残留的office365的弹窗让人很厌烦: 解决方法: 1. WIN+R,运行注册表编辑器:regedit 2.顶部复制以下两个路径,将左侧对应的OEM文件夹删除,即可. HKEY ...
- Gitbook在Docker中安装插件的方法
别光在那百度,什么先book.json添加plugin,然后在install? 哥,你现在用的是docker哎,docker都启动不了,你如何gitbook install呢? 乖乖听我的,按我的方法 ...
- Spring 事务管理 基于配置文件
事务概念: 原子性:要么都成功,有一个失败都失败 一致性:总量不变(A有100元,B有100元,总量是200元.A把100元转给B,B就有了200元,总量还是200元) 隔离性:两人操作同一条数据,不 ...
- 【Java】【SpringBoot】CP03:热部署
This article is written by Xrilang(Chinese Name:萌狼蓝天) If you want find me ,You can contact me in Bil ...
- 常用bat代码
清除空文件夹 | 清理空文件夹 | 删除空文件夹 @echo off for /f "tokens=*" %%i in ('dir/s/b/ad^|sort /r') do rd ...
- undefined method `license' when mac brew install
https://github.com/Homebrew/discussions/discussions/297 brew update-reset brew config brew doctor
- Python的OCR工具pytesseract解决TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information环境变量问题
pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格 ...
- Qt音视频开发47-文字和图片水印(可存储到MP4中)
一.前言 近期花了两周时间闭门啃硬骨头,主要就解决三个问题(音视频同步存储和推流.图片水印并将水印信息存储到文件或者推流.rtsp推流),这三个问题困扰了很多年,以至于找遍了网络和翻遍ffplay代码 ...
- Qt编写地图综合应用2-迁徙图
一.前言 在很多web系统中,尤其是大屏系统中,经常可以看到类似于飞机迁徙图的效果,这个在echart中也是最常用的一个效果,迁徙图既可以是一个飞机也可以是其他形状,然后有一条动态的移动轨迹来表示流向 ...