<p>If I have an IEnumerator variable is it possible to have a lambda function that takes it, advances it with MoveNext() and returns the Current value every single time its called?</p>

A Lambda expression can contain complex statements, so you can do the following:
```
```
Func<IEnumerator, object> f = ie => { ie.MoveNext(); return ie.Current; };
```
```