欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【转载】C#使用FirstOrDefault方法快速查找List集合中符合条件的第一个实体

程序员文章站 2022-03-20 12:17:32
在C#的List集合的操作中,有时候我们需要根据相关条件快速从List集合中获取到第一个符合条件的实体对象,例如有个全校班级的List集合,我们需要根据班级代码快速从List集合中查找出班级信息。可以使用传统的for或者foreach循环来单独比对查询来实现,其实还可以通过Lambda表达式中的Fi ......

在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技术小趣屋