Q:

Difference between create Enumerable or Enumerator using Iterators in C#

What is the difference between creating Enumerable or Enumerator using Iterators in C#?
I know that Iterators are used to create a private class that implements Enumerable or Enumerator...
Which way is better to create an enumerable type?

A:

Every type that implements the IEnumerable interface should implement a method GetEnumerator which returns a type that implements the IEnumerator interface. Then having an enumerator you can use the foreach statement, which in its essence implements the iterator pattern, to traverse the elements of a collection of your custom type. 
For further clarification please take a look to the following links:

IEnumerable
IEnumerator
Iterator Pattern

So in order to answer to your question, I have to say that we shouldn't try to compare the IEnumerable and IEnumerator. They both are used together, when we want to use the iterator pattern for a custom type. 

