title: Implementing a bidirectional enumerator in C#
body: <p>Is there a way to use yield blocks to implement an <code>IEnumerator&lt;T&gt;</code> which can go backward (<code>MoveLast()</code>) as well as forward?</p>