编写容器类从CollectionBase继承,重写相关方法,
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfsystemcollectionscollectionbaseclasstopic.htm

解决方案 »

  1.   

    用代理实现不同的成绩用同一个函数进行排序,至于容器么,ArrayList, Array都可以吧。
      

  2.   

    将数据放到数据库里,用SQL来实现。
      

  3.   

    using System;
    using System.Collections;namespace XXX
    {
        public class Students 
        {
            protected Hashtable m_objHashtable;        public Students
            {
                m_objHashtable=new Hashtable();
            }        /// <summary>
            /// 求平均分
            /// </summary>
            public float AveScore()
            {
                float fScoreTotal=0.0;
                foreach(DictionaryEntry objDE in m_objHashtable)
                {
                    Student objStudent=(Student)objDE.Value;
                    fScoreTotal+=objStudent.Score;
                }
                return fScoreTotal/m_objHashtable.Count;
            }        public string[] SortScore()
            {
                //排序算法
            }        /// <summary>
            ///移除一个对象
            /// </summary>
            ///<param name ="objStudent">需要移除的对象</param>
            public void Remove(Student objStudent)
            {
                m_objHashtable.Remove(objStudent.Key);
            }        /// <summary>
            ///增加一个对象
            /// </summary>
            ///<param name ="objStudent">需要增加的对象</param>
            public void Add(Student objStudent)
            {
                m_objHashtable.Add(objStudent.Key,objStudent);
            }        /// <summary>
            /// 请空集合
            /// </summary>
            public void Clear()
            {
                m_objHashtable.Clear();
            }        /// <summary>
            /// 返回HashTable的方法
            /// 用于检测是否存在指定的Key
            /// </summary>
            /// <param name="Key">所需检测的Key</param>
            /// <returns>true,存在;false,不存在</returns>
            public bool Contains(object Key)
            {
                return m_objHashtable.Contains(Key);
            }        /// <summary>
            /// 返回HashTable的方法
            /// 用于检测是否存在指定的Key
            /// </summary>
            /// <param name="Key">所需检测的Key</param>
            /// <returns>true,存在;false,不存在</returns>
            public virtual bool ContainsKey(object Key)
            {
                return m_objHashtable.ContainsKey(Key);
            }        /// <summary>
            /// 集合中元素的数据
            /// </summary>
            /// <returns>返回数目</returns>
            public int Count
            {
                get
                {
                    return m_objHashtable.Count;
                }
            }
        }
    }