c# 内部类使用接口IComparer实现排序
2014-11-28 23:51
501 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 内部类使用接口实现排序 { class Person { private string _name; private int _age; public Person(string name, int age) { _name = name; _age = age; } public string Name { get { return _name; } } public int Age { get { return _age; } } private static AgeComparer _ageCom = null; //仅是一个静态变量。 public static IComparer<Person> AgeCom { get { if (_ageCom == null) //当第一次访问静态属性的时候,自动创建一个对象。 { _ageCom = new AgeComparer(); } return _ageCom; } } private class AgeComparer : IComparer<Person> { int IComparer<Person>.Compare(Person x, Person y) { return x._age.CompareTo(y._age); } } } class Program { static void Main(string[] args) { Person[] p1 = new Person[5]; p1[0] = new Person("王亮", 27); p1[1] = new Person("张明敏", 21); p1[2] = new Person("孙晓峰", 28); p1[3] = new Person("赫敏", 25); p1[4] = new Person("刘铭", 23); foreach (Person p in p1) { Console.WriteLine(p.Name + " " + p.Age.ToString()); } Console.WriteLine("将对年龄进行排序并打印结果:"); Array.Sort(p1, Person.AgeCom); foreach (Person p in p1) { Console.WriteLine(p.Name + " " + p.Age.ToString()); } Console.ReadKey(); } } }
相关文章推荐
- Effective C# 使用IComparable和IComparer接口实现排序关系
- C#使用IComparer自定义List类实现排序的方法
- Effective C# 使用IComparable和IComparer接口实现排序关系
- Effective C# Item26:使用IComarable和IComparer接口实现排序关系
- Effective C# Item26:使用IComarable和IComparer接口实现排序关系
- C#设计模式之 :Abstract_Factory模式(使用接口实现)
- C#2.0 接口的实现与使用
- 《Effective C#》读书笔记——条目22:通过定义并实现接口替代继承<使用C#表达设计>
- C#笔记25:比较和排序(IComparable和IComparer以及它们的泛型实现)
- 对象的比较与排序(二):实现IComparable和IComparer接口 和 Comparer类(转)
- [C#]简单重写IComparer接口,实现自己的String.CompareTo 方法,自定义比较规则。
- C# 对排序的认识( Comparison ) ,使用匿名方法实现比较器
- [原创]详述IComparer,IComparable接口,实现自定义方法比较对象大小并排序(C#)
- C#实现Comparable接口实现排序
- 使用Java中Comparator接口实现自定义排序
- List<>根据指定属性排序(实现IComparer接口)
- C#中对对象的排序重写IComparer接口
- “轻松加愉快”地实现并使用IComparer接口
- 比较器的使用,实现 Comparable接口,功能:实现对象的多条件比较,排序
- “轻松加愉快”地实现并使用IComparer接口