问一路和接口及泛型有关的编程题(用栈实现堆)

问一道和接口及泛型有关的编程题(用栈实现堆)
题目:(用C#语言编写)

1.   设计泛型接口IStack<T>,接口中包含 Push、Pop、Peek、Empty(清空)、Count等方法及属性

2.   通过实现IStack<T>接口来设计一个泛型栈MyStack<T>,使用List<T>做为内部容器,后进先出,符合栈的特性,同时注意边界处理

3.  重写ToString 方法,合理输出栈内的内容。

例如:栈内有A,B,C三个元素,则返回一个
C
 B
 A
的字符串

4. 添加MyStack 对Foreach 遍历的支持。(实现IEumerable 和 IEumerator)

5. 合理的代码演示MyStack的功能

6. 良好的编码风格和适当的注释
------解决思路----------------------
直接抄高大上的.net framework的Stack<T>吧~~
嗯,还得改改,把里面内部的T[]改成List<T>,然后抽出来个IStack<T>,再实现下ToString
------解决思路----------------------
引用:
直接抄高大上的.net framework的Stack<T>吧~~
嗯,还得改改,把里面内部的T[]改成List<T>,然后抽出来个IStack<T>,再实现下ToString


对啊,看到用List<T>就觉得出题的人很二逼。Stack Queue List都是用数组实现的。