在C#中尝试将节点添加到队列时无法使用.下一个

本文关键字:队列 下一个 添加 节点 | 更新日期: 2023-09-27 17:56:25

尝试在 C# 中从队列中添加和删除节点。但是,当尝试使用front.Next时,我收到一个编译器错误,指出定义不包含。

class Queue<T>
{
    int count = 0;
    Node<T> front = null;
    Node<T> end = null;
    public void Enqueue(T obj)
    {
        if (count == 0)
        {
            front = new Node<T>(obj);
        }
        else 
        {
            Node<T> newEnd = new Node<T>(obj);
            newEnd.Next = end;
            count++;
            end = newEnd;
        }
    }
    public T Dequeue(T obj)
    {
        Node<T> newFront = new Node<T>(obj);
        newFront = front.Next;
        count--;
        front = newFront;
        return front;
    }
}

在C#中尝试将节点添加到队列时无法使用.下一个

不确定为什么要尝试在 .NET 中重新创建已存在的Queue集合?

但是,为了回答您的问题,您的对象中缺少一个Next方法,因此编译器告诉您它找不到Next

不过,您确实应该考虑使用现有的Queue类。

根据您的注释,您会收到编译错误,因为您编写了一个未实现 Next 属性的 Node<T> 类。

编译器给出的错误消息是否以某种方式令人困惑?