是一个'字段'但是像一个类型一样使用 - C#

时间:2017-01-24 13:40:20

标签: c#

我必须创建一个堆栈的实现。

我想创建一个我可以这样使用的类:

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#非常新)

1 个答案:

答案 0 :(得分:1)

尝试删除构造函数中的类型,如下所示:

public class Stack<T> {
    private T[] stack;
    private int stackPointer;

    public Stack() {
        this.stackPointer = -1;
    }
}

看看这个Microsoft article有关泛型的内容,它实际上包含了泛型堆栈类的实现。

enter image description here