读书人

List的 Select()使用方法,该怎么处理

发布时间: 2013-08-26 12:17:40 作者: rapoo

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;


}
});


[解决办法]
var newList = studentList.Where(s=>s.ClassName=="高一(3)班").ToList();

读书人网 >C#

热点推荐