public int getMaxAge(Man[] argmen)
    {
        System.Collections.ArrayList menlist = new System.Collections.ArrayList();
        int maxAge = 0;
        for (int i = 0; i < argmen.Length; i++)
        {
            menlist.add(argmen[i].AGE);            if (argmen[i].AGE > maxAge)
                maxAge =i;//取得下标maxAge=argmen[i].AGE则为取得最大年龄值。
        }
        menlist.Sort();
        //maxAge = men[men.Count - 1];
        return maxAge;//如何取到最大的一个age的排序之前的下标呢
    }

解决方案 »

  1.   

    排序?
     List<Man> list = new List<Man>();            Man m = new Man();
                m.AGE = 11100;            Man m1 = new Man();
                m1.AGE = 2100;            Man m2 = new Man();
                m2.AGE = 1300;
                sort s=new sort();
                list.Add(m);
                list.Add(m1);
                list.Add(m2);
                list.Sort(s);
     public class sort : IComparer<Man>
            {            #region IComparer<Man> Members            public int Compare(Man x, Man y)
                {
                    return x.AGE.CompareTo(y.AGE);
                }            #endregion
            }
      

  2.   

    menlist.Sort(delegate(object obj1, object obj2)
    {
        return (((Man)obj1).Age.CompareTo(((Man)obj2).Age));
    }
    );
      

  3.   

    继续请教 三尾如果要返回的一组下标 是不是可以这样写public int[] getMaxAge(Man[] argmen)
        {
            System.Collections.ArrayList menlist = new System.Collections.ArrayList();
            int maxAge = 0;
            int maxAges[] = new int[argmen.Length];//返回数组
            for (int i = 0; i < argmen.Length; i++)
            {
                menlist.add(argmen[i].AGE);            if (argmen[i].AGE > maxAge)
                    maxAge =i;//取得下标maxAge=argmen[i].AGE则为取得最大年龄值。
            }
            menlist.Sort();
            //maxAge = men[men.Count - 1];
            for(int j =0;j<argmen.Length;j++)
            {
                maxAges[j]= maxAge;
            }
            return maxAges;
        }