在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集合中符合条件的第一个实体-LMLPHP

05-08 08:14