在C#的List集合对象中,FirstOrDefault方法可以用于查找List集合中符合条件的第一个元素,如果需要根据条件查找到List集合中的所有符合条件的元素对象集合,则需要使用到List集合的扩展方法Where()方法,Where方法的书写方式为Lambda表达式的书写形式,通过Where方法查找出符合条件的元素后再通过ToList方法可转换回原来的List集合对象类型。
举例如下,List集合testList为自定义类的List集合对象,首先往List集合中写入3条记录,具体如下:
List<TestModel> testList = new List<ConsoleApplication1.TestModel>(); testList.Add(new TestModel() { Index=1, Name="Index1" }); testList.Add(new TestModel() { Index = 2, Name = "Index2" }); testList.Add(new TestModel() { Index = 2, Name = "Index2" });
如果想从 List集合testList对象中查找出Index=2的所有元素对象,并放到一个新的List集合中,可使用下面的语句实现:
var resultList = testList.Where(t => t.Index == 2).ToList();
其中t=>t为Lambda表达式的特殊写法,t代表testList集合中的元素对象。最后计算结果resultList集合中含有2个元素对象。
备注:原文转载自博主个人站IT技术小趣屋,原文链接C#中通过Where方法查找出所有符合条件的元素集合_IT技术小趣屋。