编写容器类从CollectionBase继承,重写相关方法,
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfsystemcollectionscollectionbaseclasstopic.htm
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpref/html/frlrfsystemcollectionscollectionbaseclasstopic.htm
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;
}
}
}
}