C#中对对象的排序重写IComparer接口
2010-04-04 03:05
211 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 对象排序
{
class Employee
{
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
}
class EmployeeSortAdapter :IComparer<Employee>
{
#region IComparer<Employee> 成员
public int Compare(Employee emp1, Employee emp2)
{
Employee e1 = emp1;
Employee e2 = emp2;
if (e1.Age == e2.Age)
{
return 0;
}
else if (e1.Age > e2.Age)
{
return 1;
}
else if (e1.Age < e2.Age)
{
return -1;
}
return default(int);
}
#endregion
}
class App
{
static void Main(string[] args)
{
Employee [] employees = new Employee[4];
for (int i = 0; i < 4; i++)
{
employees[i] = new Employee();
}
employees[0].Age = 12;
employees[1].Age = 34;
employees[2].Age = 64;
employees[3].Age = 53;
Array.Sort(employees, new EmployeeSortAdapter());
foreach (Employee emp in employees)
{
Console.WriteLine(emp.Age);
}
Console.Read();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 对象排序
{
class Employee
{
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
}
class EmployeeSortAdapter :IComparer<Employee>
{
#region IComparer<Employee> 成员
public int Compare(Employee emp1, Employee emp2)
{
Employee e1 = emp1;
Employee e2 = emp2;
if (e1.Age == e2.Age)
{
return 0;
}
else if (e1.Age > e2.Age)
{
return 1;
}
else if (e1.Age < e2.Age)
{
return -1;
}
return default(int);
}
#endregion
}
class App
{
static void Main(string[] args)
{
Employee [] employees = new Employee[4];
for (int i = 0; i < 4; i++)
{
employees[i] = new Employee();
}
employees[0].Age = 12;
employees[1].Age = 34;
employees[2].Age = 64;
employees[3].Age = 53;
Array.Sort(employees, new EmployeeSortAdapter());
foreach (Employee emp in employees)
{
Console.WriteLine(emp.Age);
}
Console.Read();
}
}
}
相关文章推荐
- c# 内部类使用接口IComparer实现排序
- 对象的比较与排序(二):实现IComparable和IComparer接口 和 Comparer类(转)
- 对象的比较与排序:IComparable和IComparer接口
- 对象的比较与排序:IComparable和IComparer接口
- 对象的比较与排序(二):实现IComparable和IComparer接口 和 Comparer类
- [C#]简单重写IComparer接口,实现自己的String.CompareTo 方法,自定义比较规则。
- 对象的比较与排序:IComparable和IComparer接口
- [原创]详述IComparer,IComparable接口,实现自定义方法比较对象大小并排序(C#)
- C#中的IComparable 和 IComparer 接口,实现列表中的对象比较和排序
- .NET/C#中对自定义对象集合进行自定义排序的方法
- C#笔记25:比较和排序(IComparable和IComparer以及它们的泛型实现)
- C#基础之数组排序,对象大小比较
- JAVA面向对象,重写 重载的区别, 抽象类, 接口,final
- 使用 Comparable 接口实现对象的属性排序
- Effective C# Item26:使用IComarable和IComparer接口实现排序关系
- 普通java类(排序)实现Comparable接口重写CompareTo方法
- C#使用IComparer自定义List类实现排序的方法
- C#实现Comparable接口实现排序
- c# 中 List能对T对象排序的方法(二)
- ArrayList和LinkedList都是实现了List接口的类,他们都是元素的容器,用于存放对象的引用; 他们都可以对存放的元素进行增删改查的操作,还可以进行排序。 但是,他们还是有区别的。