using System.Collections.Generic;
public static void Main()
var list = new List<int> { 10, 20, 30 };
var enumerator = list.GetEnumerator();
Console.WriteLine(enumerator.Current);
Apply(e => { e.MoveNext(); Console.WriteLine("I executed this"); }, enumerator);
Console.WriteLine(enumerator.Current);
Apply(e => { e.MoveNext(); Console.WriteLine("I executed this"); }, enumerator);
Console.WriteLine(enumerator.Current);
static void Apply<T>(Action<T> action, T item)