Iterators produce enumerators. In C#, enumerators are produced by defining methods, properties or indexers that contain yield statements.
Most methods will return control to their caller through normal return statements, which disposes all state local to that method. In contrast, methods that use y...