List的 Select()使用方法
用List存储对象,代码如下:
IList<Student> studentList = new List<Student>();
for(int i=0;i<1000;i++)
{
Student student = new Student();
//赋值
studentList.Add(student);
}
现在需要从studentList中查询符合条件的对象,Student中有个ClassName字段,需要从studentList中查询ClassName为“高一(3)班”的所有学生,一般是这样做的:
foreach(Student student in studentList)
{
if(student.ClassName=="高一(3)班")
{
newList.Add(student);
continue;
}
}
但这种方法比较笨重,一旦数据量大,循环次数会非常多。百度了一下,貌似可以使用Select(),但都说不太详细,请问有没有什么较好的算法可以实现?
------解决方案--------------------newList = studentList.Where(p => p.ClassName.Contains("高一(3)班")).ToList<Student>();
------解决方案--------------------来个低版本的:
List<Student> stu = studentList.FindAll(delegate(Student student)
{
if (student.Name.Equals("高一(3)班"))
{
return true;
}
else
{
return false;