C#2.0以下版本只提供了非泛型的Stack类,该类继承了ICollection、IEnumerable和ICloneable接口。C#2.0提供了泛型的Stack<T>类,该类继承了IEnumerable<T>、ICollection和IEnumerable接口。下面的程序说明了泛型Stack<T>类的主要方法,并对在我们自定义的栈类中没有出现的成员方法进行了注释,关于泛型Stack<T>类的更具体的信息,
public class <T> : IEnumerable<T>, ICollection, IEnumerable
{
public Stack();
public Stack(int capacity);
public int Count {get;}
public void Clear();
//确定某元素是否在Stack<T>中,
//如果在Stack<T>中找到item,则为true;否则为false。
public bool Contains(T item);
//从指定数组索引开始将Stack<T>复制到现有一维Array中。
public void CopyTo(T[] array, int arrayIndex);
//返回位于Stack<T>顶部的对象但不将其移除。
public T Peek();
public T Pop();
public void Push(T item);
//将Stack<T>复制到新数组中。
public T[] ToArray();
//如果元素数小于当前容量的90%,
//将容量设置为Stack<T>中的实际元素数。
public void TrimExcess();
}
{
public Stack();
public Stack(int capacity);
public int Count {get;}
public void Clear();
//确定某元素是否在Stack<T>中,
//如果在Stack<T>中找到item,则为true;否则为false。
public bool Contains(T item);
//从指定数组索引开始将Stack<T>复制到现有一维Array中。
public void CopyTo(T[] array, int arrayIndex);
//返回位于Stack<T>顶部的对象但不将其移除。
public T Peek();
public T Pop();
public void Push(T item);
//将Stack<T>复制到新数组中。
public T[] ToArray();
//如果元素数小于当前容量的90%,
//将容量设置为Stack<T>中的实际元素数。
public void TrimExcess();
}