在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,博主微信公众号如下: