C# IEnumerable
Every object that implements IEnumberable can be used with the foreach
statement.
var numbers = new List<int> = { 1, 3, 5, 7, 11};
Assert.IsTrue(numbers is IEnumerable<int>);
var e = numbers.GetEnumerator();
bool hasData = e.MoveNext();
Assert.IsTrue(hasData);
int i = e.Current;
Assert.IsTrue(i == 1);
the following is a demonstration of how foreach()
works under the bonnet..
numbers.Reset();
while(numbers.MoveNext()) {
//do something with e.Current;
}