c#之数组
自定义类来实现排序功能
利用Array的sort方法来进行排序,但是sort方法需要数组中的元素实现IComparable,就可以通过自定义这些类型的排序
接下来我们对定义的person类数组进行自定义的排序准则,实现Icomparable接口中的ComparaTo()方法,如果要比较的对象相等,改方法返回0,如果该实例应该排在参数对象的前面,该方法就返回小于0的值,如果该实例应该排在参数对象的后面,该方法就返回大于0的值
public class Person :IComparable<Person> { public string LastName { get; set; } public string FirstName { get; set; } public int CompareTo(Person other) { if (other == null) { throw new ArgumentNullException("Index"); } int result = this.LastName.CompareTo(other.LastName); if (result == 0) { result = this.FirstName.CompareTo(other.FirstName); } return result; } }
定义的这段代码的意思是先根据Person的LastName来做比较,如果LastName相同即result相同的情况下再根据在根据FisrtName进行排序
Person[] persons ={ new Person{FirstName="Damon",LastName="dHill"}, new Person{FirstName="Nii",LastName="cLauda"}, new Person{FirstName="Ayrton",LastName="bSena"}, new Person{FirstName="Graham",LastName="aHill"} }; Array.Sort(persons); foreach (var p in persons) { Console.WriteLine(p.LastName); } Console.Read();
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。