1、编写泛型版MyList,内部用ArrayList保存数据。提供:T this[int index]、void Add(T item)、int Count三个成员。
class MyList<T>
{
private ArrayList list = new ArrayList();
public T this[int index]
{
get
{
return (T)list[index];
}
set
{
list[index] = value;
}
}
public void Add(T item)
{
list.Add(item);
}
public int Count
{
get
{
return list.Count;
}
}
}
2、类名后可以写不止一个范型占位符,多个时用逗号隔开。
3、编写泛型版MyDictionary,内部用Hashtable保存数据。提供:V this[K key]、void Add(K key, V value)、ICollection<K> Keys三个成员, Keys内部用List<T>来做转换。
class MyDictionary<K, V>
{
private Hashtable data = new Hashtable();
public V this[K key]
{
get
{
return (V)data[key];
}
set
{
data[key] = value;
}
}
public void Add(K key, V value)
{
data.Add(key, value);
}
public ICollection<K> Keys
{
get
{
List<K> list = new List<K>();
foreach (object obj in data.Keys)
{
list.Add((K)obj);
}
return list;
}
}
}