c# .net

How can be perform foreach statement implemented using while statement?

How can be perform foreach statement implemented using while statement?, someone asked me to explain?

The following example describes how to perform foreach statement implemented using while statement. First the IEnumerable collection is asked to create new enumerator instance (which implements IEnumerator). Then it calls IEnumerator.MoveNext() method until it returns false. For each iteration it obtains value from IEnumerator.Current property. Workout and see the result should be same as that of foreach statement.

 

    var names = new List<string>() { "Car", "Bike", "Bus" };

            foreach (string name in names)

            {
                Console.WriteLine(name);
                     }          


            //foreach performed using whilestatement 

            var enumerator = names.GetEnumerator();

            while (enumerator.MoveNext())

            {
                string name = (string)enumerator.Current;
                Console.WriteLine(name);
            } 

 

Output:

 

Car

Bike

Bus

Post your comments / questions