Difference between IEnumerable and IEnumerator
IEnumerable:
1. Make the syntax sorter.
2. IEnumerable uses IEnumerator internally
3. IEnumerable does not remember state(currently which row is currently through)
IEnumerator:
IEnumerable does remember state(currently which row is currently through)
List<int> years = new List<int>();
years.Add(2000);
years.Add(2001);
years.Add(2002);
years.Add(2003);
years.Add(2004);
years.Add(2005);
IEnumerable<int> ienum = (IEnumerable<int>)years;
ienum.GetEnumerator();//IEnumerable uses IEnumerator internally.
foreach(int i in ienum){
Console.WriteLine(i);
}
IEnumerator<int> ienumerat = year.GetEnumerator();
while(ienumerat.MoveNext()){
Console.WriteLine(ienumerat.Current.ToString());
}
https://www.youtube.com/watch?v=jd3yUjGc9M0
IEnumerable:
1. Make the syntax sorter.
2. IEnumerable uses IEnumerator internally
3. IEnumerable does not remember state(currently which row is currently through)
IEnumerator:
IEnumerable does remember state(currently which row is currently through)
List<int> years = new List<int>();
years.Add(2000);
years.Add(2001);
years.Add(2002);
years.Add(2003);
years.Add(2004);
years.Add(2005);
IEnumerable<int> ienum = (IEnumerable<int>)years;
ienum.GetEnumerator();//IEnumerable uses IEnumerator internally.
foreach(int i in ienum){
Console.WriteLine(i);
}
IEnumerator<int> ienumerat = year.GetEnumerator();
while(ienumerat.MoveNext()){
Console.WriteLine(ienumerat.Current.ToString());
}
https://www.youtube.com/watch?v=jd3yUjGc9M0