Quick actions

cmd+k|ctrl+k

Navigation

Languages

The Curiously Non-Enumerating Enumerator

Snippet info

Language

Csharp

Visibility

public

Author

levi

Created

2018-03-08T13:50:07Z

Updated

2018-03-08T13:50:07Z

using System;
using System.Collections.Generic;

class MainClass {
    static void Main() {
        List<int> list = new List<int>{1,2};
        var roe = new ReadOnlyEnumerator(list);
        Console.WriteLine("First element of list - {0}", list[0]);
        roe.PrintTheFirstElement();
        Console.WriteLine("First returned element of enumerator - {0}", roe.GetTheFirstElement());
    }
}

class ReadOnlyEnumerator
{
    private readonly List<int>.Enumerator _enumerator;
 
    public ReadOnlyEnumerator(List<int> list)
    {
        _enumerator = list.GetEnumerator();
    }
 
    public void PrintTheFirstElement()
    {
        _enumerator.MoveNext();
        Console.WriteLine("First element of enumerator - {0}",_enumerator.Current);
    }
    
    public int GetTheFirstElement()
    {
        _enumerator.MoveNext();
        return _enumerator.Current;
    }
}
INFO