4

私が作成したカスタム作成のリンク リスト クラスを使用して、C# プログラムの 1 つで使用する列挙子を作成しようとしています。コードをあまり見せたくないので、これで十分だと思います。

よくわかりませんが、これは列挙子がどのように見えるはずですか?

class SinglyLinkedListEnumerator<T> : IEnumerator<T>
{
    private Node<E> node;
    private Node<E> start;

    public SinglyLinkedListEnumerator(Node<T> node)
    {
        this.node = node;
        start = node;
    }

    public T Current
    {
        get { return node.getData(); }
    }

    public Boolean MoveNext()
    {
        if (node.getNext() != null)
        {
            node = node.getNext();
            return true;
        }
        return false;
    }

    public void Reset()
    {
        node = start;
    }

    public void IDisposable.Dispose()
    {
    }
}
4

4 に答える 4

1

C# の世界では、この概念は反復ではなく列挙と呼ばれます。と混同しないでください。enum

とにかく、探しているそれぞれのインターフェースは名前空間にIEnumerable<T>あります。彼らのドキュメントをチェックしてください。概念自体は、Java で行ったこととほとんど同じです。IEnumerator<T>System.Collections.Generic

于 2013-05-23T22:12:11.033 に答える