[100分]自定义数据类型的范型排序
小弟我遇到这样一个问题:
我定义了一个类 如
C# code
 public Class Man()
{
public Man(int Age)
{
...
}
public int Age;//年龄属性
}
下面有添加了n个Man的范型  
C# code
List<Man> men = new List<Man>();
men.Add(new Man(5));
men.Add(new Man(6));
men.Add(new Man(7));
我想通过Age 对这个men范型进行排序 返回最大的一个年龄的men的下标
C# code
 public int Compare(object manA, object Manb)
    {
        if ((Man)manA.Age> (Man)manB.Age)
        {
            return 1;
        }else if ((Man)manA.Age== (Man)manB.Age)
            return 0;
        else return -1;
    }
可能会有这样一个函数
问题是:(1)这样一个函数是不是要写在一个类里面,请补全代码
        (2)这个接口或者说方法如何调用
请指教
------解决方案--------------------
我想通过Age 对这个men范型进行排序 返回最大的一个年龄的men的下标 ...
都已经排序了..还最大下标。0就是最大的。
public class CompareMan: IComparer<Man>
{
  public int Compare(Man manA, Man Manb)
   {
       return manA.Age.CompareTo(manB.Age);//从小到达
//从大道小 return -manA.Age.CompareTo(manB.Age);
   }
}
List<Man> men = new List<Man>();
men.Add(new Man(5));
men.Add(new Man(6));
men.Add(new Man(7));
men.Sort(new CompareMan());
------解决方案--------------------
   public class Man
   {
       public Man(int age) {
           _age = age;
       }
       int _age = 0;
       public int Age {
           get { return _age; }
           set { _age = value; }
       }
   }
   public class CompareMan : IComparer<Man>
   {
       public int Compare(Man manA, Man Manb)
       {
           return -manA.Age.CompareTo(Manb.Age);
       }
   }  
调用代码:
           List<Man> men = new List<Man>();
           men.Add(new Man(5));
           men.Add(new Man(60));
           men.Add(new Man(7));
           men.Sort(new CompareMan());
men[0]就是岁数最大的。