C# Array.sort
来源:互联网 发布:linux jdk安装 编辑:程序博客网 时间:2024/05/17 21:52
Array.sort 有3种方式:
- 待排序对象实现了IComparable<T> 接口
class Person :IComparable<Person>{ private String firstname; public String Firstname { get { return firstname; } set { firstname = value; } } private String lastname; public String Lastname { get { return lastname; } set { lastname = value; } } public Person(String f,String l) { this.firstname = f; this.lastname = l; } public int CompareTo(Person other) { int result = this.Firstname.CompareTo(other.Firstname); if (result.Equals(0)) { result = this.Lastname.CompareTo(other.Lastname); } return result; } }
- 待排序对象你无法修改,将排序交给委托 Comparison<T> 去做
class util { public static int comp(Person p1,Person p2){ return p1.Lastname.CompareTo(p2.Lastname); } }Person p1 = new Person("san", "zhang"); Person p2 = new Person("si", "li"); Person p3 = new Person("wu", "wang"); Person[] a = { p3,p1,p2};
Array.Sort<Person>(a, new Comparison<Person>(util.comp));
或者
Array.Sort<Person>(a, (Person x, Person y) => { int r = x.Firstname.CompareTo(y.Firstname); if (r.Equals(0)) { r = x.Lastname.CompareTo(y.Lastname); } return r; });
- 待排序对象你无法修改,将排序交给实现了IComparer<T>接口的对象去做
class PersonComparer : IComparer<Person> { public int Compare(Person x, Person y) { int result = x.Lastname.CompareTo(y.Lastname); if (result.Equals(0)) { result = x.Firstname.CompareTo(y.Firstname); } return result; } }Person p1 = new Person("san", "zhang"); Person p2 = new Person("si", "li"); Person p3 = new Person("wu", "wang"); Person[] a = { p3,p1,p2}; Array.Sort<Person>(a,new PersonComparer());
- C# Array.sort
- C# Array.sort排序
- C#中的Array.Sort()的使用
- C#数组(定义/Array.Sort/Array.Reverse/冒泡排序)
- Array#sort
- Array Sort
- array.sort()
- Array.sort()
- Array.Sort
- C#高级编程(5) Array .Sort()、IComparable 、IComparer
- C#中Array.Sort() 快速排序-源码分析
- C#对数组排序,Array.sort以及冒泡法
- C#控制台基础 应用Array.Sort和Array.Reverse实现从小到大,从大到小排序
- Array.Sort方法
- java.util.array.sort
- asp Array sort
- Array.sort自定义方法
- PowerShell Sort Array
- 关于ListView的一点总结(未完成)
- wince注册表编程(新建,读取,修改)
- ubuntu 下配置VPN
- android学习之TableLayout布局框架
- 总结JSP与servlet之间的传值
- C# Array.sort
- WINCE 如何显示PNG和GIF图片
- 设计模式之3——抽象工厂模式
- 设置SQL连接
- WINCE如何调节位图透明度并显示
- Oracle 表空间基本操作
- Windows CE驱动开发常用宏定义
- 使用 Toolbar.js 实现超酷的 Tooltip 风格工具栏
- VB.NET -从字符串“xxx”到类型“Double”的转换无效