List<>根据指定属性排序(实现IComparer接口)
2012-08-25 11:45
531 查看
[b]问题:[/b]
有一个List<CourseList> testlist,类CourseList中有CourseId, CourseName,CourseStatus,TeacherName,LevelName,StudentNumber这五个属性。现在想实现testlist的按CourseList类的各个属性排序。
[b]解决办法:[/b]
调用sort方法
[b]原因:[/b]
C#中的List<>有两个Sort方法,一个是无参的,一个是带IComparer参的。无参的方法是按默认的比较器进行排序,有参的就要自己定义一个实现IComparer接口。
实现ICompare接口就需要实现Compare方法。Compare方法有两个要比较的输入,根据自己定义的比较规则,返回int值,0表示相等,1表示x>y,-1表示x<y.
有一个List<CourseList> testlist,类CourseList中有CourseId, CourseName,CourseStatus,TeacherName,LevelName,StudentNumber这五个属性。现在想实现testlist的按CourseList类的各个属性排序。
[b]解决办法:[/b]
调用sort方法
CourseListComparer courselistComparer = new CourseListComparer(CompareType.CourseId); testList.Sort(courselistComparer);
[b]原因:[/b]
C#中的List<>有两个Sort方法,一个是无参的,一个是带IComparer参的。无参的方法是按默认的比较器进行排序,有参的就要自己定义一个实现IComparer接口。
实现ICompare接口就需要实现Compare方法。Compare方法有两个要比较的输入,根据自己定义的比较规则,返回int值,0表示相等,1表示x>y,-1表示x<y.
相关文章推荐
- List<T>泛型数组API自带的Sort() 排序方法根据自定义排序实现
- 1.提取List<bean>中的某属性集合; 2.List<bean>排序(需要指定升序降序和排序字段的类型)
- 实体类集合(List<Object>)根据实体类的一个或者多个属性对集合进行排序-Collections.sort
- C# List<> 实现 IComparer 接口 排序
- 合并多个List<T>类型并通过LINQ按指定属性排序
- C#中对List<Object>泛型集合,根据对象的某一属性进行升序排序
- Java List<Object>根据Object中某一个属性排序
- List<Object>根据Object里的2个属性排序
- List<T>泛型集合根据对象的某一属性排序
- java 根据 List<T> 的属性进行排序
- Java SE TreeSet(实现Comparable接口和Comparator匿名类)根据属性排序示例
- [翻译]List<T>为什么实现了那么多接口?
- 对象的比较与排序(三):实现IComparable<T>和IComparer<T>泛型接口
- List<List<double>> lsls = null; 根据double值来重新排序lsls...
- List<T> 根据某个字段排序
- List<T> 属性排序
- C#基础---IComparable用法,实现List<T>.sort()排序
- C#对List<object>进行多属性排序
- C#中的delegate以及利用List<T>中delegate快速实现排序、查找
- List<Map>集合根据Map里某个key对List集合重新排序介绍