我必须创建一个堆栈的实现。
我想创建一个我可以这样使用的类:
Stack<string> myStack = new Stack<string>();
myStack.Push("Harold");
myStack.Push("Evie");
myStack.Pop(); // => "Evie"
这是我到目前为止所写的内容:
public class Stack<T> {
private T[] stack;
private int stackPointer;
public Stack<T>() {
this.stackPointer = -1;
}
}
但是我已经从VS中收到了这个错误:
this.stackPointer = -1;
// ERROR: stackPointer is a field but is used like a type.
这是什么意思,我该如何解决? (注意我对C#非常新)
答案 0 :(得分:1)
尝试删除构造函数中的类型,如下所示:
public class Stack<T> {
private T[] stack;
private int stackPointer;
public Stack() {
this.stackPointer = -1;
}
}
看看这个Microsoft article有关泛型的内容,它实际上包含了泛型堆栈类的实现。