1、List集合
对于List集合本身带有sort()方法,并且还可以使用Lambda表达式进行排序。
这里介绍一种自定义排序的方式,有labmda好像就可以搞定了,在这里就多学习 一点知识吧
public class Student : IComparable
{
public int Id { get; set; }
public string Name { get; set; }
public int SchoolPhaseId { get; set; }
public int GradeId { get; set; }
public int ClassId { get; set; }
//自定义比较器,继承来自IComparable的比较方法,重新写比较方式
public int CompareTo(object obj)
{
Student stu = (Student)obj;
return stu.Id - this.Id;
}
}
public ActionResult ListComparerTest()
{
List<Student> stuList = new List<Student>();
//ArrayList stuList = new ArrayList();
stuList.Add(new Student() { Id = 1, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 1, });
stuList.Add(new Student() { Id = 2, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 2, });
stuList.Add(new Student() { Id = 3, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 2, });
stuList.Add(new Student() { Id = 4, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 3, });
stuList.Add(new Student() { Id = 5, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 3, });
stuList.Add(new Student() { Id = 6, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 3, });
stuList.Add(new Student() { Id = 7, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 4, });
stuList.Add(new Student() { Id = 8, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 4, });
stuList.Add(new Student() { Id = 9, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 4, });
stuList.Add(new Student() { Id = 10, Name = "1", SchoolPhaseId = 3, GradeId = 1, ClassId = 4, });
stuList.Sort();//查看比较结果
return Content("ok");
}