【转载】C#使用FirstOrDefault方法快速查找List集合中符合条件的第一个实体
在C#的List集合的操作中,有时候我们需要根据相关条件快速从List集合中获取到第一个符合条件的实体对象,例如有个全校班级的List集合,我们需要根据班级代码快速从List集合中查找出班级信息。可以使用传统的for或者foreach循环来单独比对查询来实现,其实还可以通过Lambda表达式中的FirstOrDefault方法快速来查找,只需一条语句即可查找出来。
例如有个全校班级信息的List集合List<StudentClass> classList,需要快速从classList集合中查找班级代码ClassCode为A101的班级实体记录,可使用下列语句:
StudentClass whereClass=classList.FirstOrDefault(t=>t.ClassCode=="A101");
上述语句中t是lambda表示式的一种写法,代表List集合里面的对象实体,你可命名为其他变量名也可以,例如a,b等。
如果List集合含有相应的符合条件的实体记录,则FirstOrDefault返回查找到的第一条实体记录信息,否则FirstOrDefault方法返回为NULL。
因此如果无法100%确保List集合中含有符合条件的记录,则需要在使用前判断是否为NULL。
上述Lambda表达式也可以加入相应的函数以及多个条件,例如加入SchoolName名称包含实验俩字的记录,可通过下列语句实现。
StudentClass whereClass=classList.FirstOrDefault(t=>t.ClassCode=="A101"&&t.SchoolName.Contain("实验"));
备注:原文转载自C#使用FirstOrDefault方法快速查找List集合中符合条件的第一个实体_IT技术小趣屋。
博主个人技术交流群:960640092,博主微信公众号如下:

【转载】C#使用FirstOrDefault方法快速查找List集合中符合条件的第一个实体的更多相关文章
- 【转载】 C#中使用Count方法获取List集合中符合条件的个数
很多时候操作List集合的过程中,我们需要根据特定的查询条件,获取List集合中有多少个实体对象符合查询条件,例如一批产品的对象List集合,如果这批产品的不合格数量大于10则重点备注.在C#中可以自 ...
- 【转载】C#中List集合使用LastOrDefault方法查找出最后一个符合条件的元素
在C#的List集合中,FirstOrDefault方法一般用来查找List集合中第一个符合条件的对象,如果未查到则返回相应默认值.其实如果要查找最后一个符合条件的List集合元素对象,可以使用Las ...
- 【转载】 C#中List集合使用First方法查找符合条件的第一个元素
在C#的List集合相关操作中,很多时候需要从List集合中查找出符合条件的第一个元素对象,如果确认在List集合中一定存在符合条件的元素,则可以使用First方法来查找,First方法调用格式为Fi ...
- 【转载】 C#使用Select方法快速获取List集合集合中某个属性的所有值集合
在C#的List集合操作或者数组操作中,有时候我们需要获取到List集合元素中所有的对象的某个属性,然后存放到一个数组集合中,此时就可以使用到List集合以及数组的扩展方法Select方法快速实现获取 ...
- hash数组快速查找一个字符串中出现最多的字符,并统计出现的次数
如何快速查找一个字符串中出现最多的字符,并统计出现的次数? 可以使用hash数组,也就是关联数组实现快速查找功能. function seek(str) { var hash = []; var ma ...
- Properties集合中的方法store和Properties集合中的方法load
Properties集合中的方法store public class Demo01Properties { public static void main(String[] args) throws ...
- 利用pandas库中的read_html方法快速抓取网页中常见的表格型数据
本文转载自:https://www.makcyun.top/web_scraping_withpython2.html 需要学习的地方: (1)read_html的用法 作用:快速获取在html中页面 ...
- 快速查找无序数组中的第K大数?
1.题目分析: 查找无序数组中的第K大数,直观感觉便是先排好序再找到下标为K-1的元素,时间复杂度O(NlgN).在此,我们想探索是否存在时间复杂度 < O(NlgN),而且近似等于O(N)的高 ...
- java中compareTo和compare方法之比较,集合中对象的比较
前言 转自:http://www.cnblogs.com/yueliming/archive/2013/05/22/3092576.html (这里做了一些小改动) 一直一来对集合中对象的比较方案,有 ...
随机推荐
- append()、appendChild() 和 innerHTML 的区别
概念和区别:append() 可以同时传入多个节点或字符串,没有返回值: 据说 append 还是试用期的方法,有兼容问题,(但我用了暂时火狐,谷歌,iE都能使用). https://develope ...
- ifc osg施工现场模拟
基于ifc数据模型的施工现场模拟
- windows驱动程序中的预处理含义
#pragma code_seg(“PAGE”) 作用是将此部分代码放入分页内存中运行. #pragma code_seg() 将代码段设置为默认的代码段 #pragma code_seg(&q ...
- Spring cloud微服务安全实战-4-7重构代码以适应真实环境
现在有了认证服务器,也配置了资源服务器.也根据OAuth协议,基于令牌认证的授权也跑通了.基本的概念也有了简单的理解. 往下深入之前,有几个点,还需要说一下 使用scopes来控制权限,scopes可 ...
- lombok 插件安装使用
Lombok是一个Java库,它自动插入编辑器并构建工具,为Java添加香料.永远不要再编写另一个getter或Eques方法,您的类有一个功能齐全的构建器,可以自动化您的日志变量以及更多的注释. 官 ...
- iOS 多线程的简单理解(3)执行方式 + 执行对列 的组合
通过对前面两偏线程理解的总结,自己对线程的理解也逐渐加深,梳理的清晰起来…… 通常在使用线程 的时候,都是要用到 执行对列,执行方式,执行任务, 现在开始新一轮的深入 3. 1. 1 同步 + 串行 ...
- linux 大量time_wait的解决方法
通过调整内核参数解决vi /etc/sysctl.conf 编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ip ...
- 2019年Java中高级面试题总结(8)
116.什么时候使用访问者模式? 访问者模式用于解决在类的继承层次上增加操作,但是不直接与之关联.这种模式采用双派发的形式来增加中间层. 117.什么时候使用组合模式? 组合模式使用树结构来展示部分与 ...
- 钩子(hook)
钩子(hook)编程 钩子(hook)编程 一.钩子介绍 1.1钩子的实现机制 钩子英文名叫Hook,是一种截获windows系统中某应用程序或者所有进程的消息的一种技术.下图是windows ...
- socket编程(二)
TCP下粘包问题 两种情况下会发生粘包. 1.发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合到一起,产生粘包) 发送方:AB #其实放在缓存里没发送 发送方:B #其 ...