class Test : IEnumerable, IEnumerator
{
IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
}
public object Current
{
get { throw new NotImplementedException(); }
}
public bool MoveNext()
{
throw new NotImplementedException();
}
public void Reset()
{
throw new NotImplementedException();
}
}
IEnumerable has GetEnumerator() Method with IEnumerator return type. Whereas IEnumerator has one property Current (position) and two method MoveNext() and Reset().
Important Facts:- When you write a
foreach loop in C#, the compiler generates code that uses an Enumerator.foreach (small x in Big)
{
...
}
it's functionally equivalent to writing:IEnumerator x= Big.GetEnumerator();
while (x.MoveNext())
{
y= (Big)x.Current
...
}
No comments:
Post a Comment