Breaking Iterator c#



he break statement terminates the closest enclosing iteration statement (that is, for , foreach , while , or do loop) or switch statement.

using System;
using System.Collections;

namespace CSharpCollection
{
    public class Watch
    {
        internal byte hour, minute;
		internal string name;
    }

	class WatchArray : IEnumerable
	{
		Watch[] RoyalWatches = new Watch[4];
		
		public WatchArray()
		{
			RoyalWatches[0] = new Watch(){hour=12, minute=0, name="HMT"};
			RoyalWatches[1] = new Watch(){hour=10, minute=10, name="SONATA"};
			RoyalWatches[2] = new Watch(){hour=5, minute=40, name="RADO"};
			RoyalWatches[3] = new Watch(){hour=3, minute=0, name="TITAN"};
		}

		public IEnumerator GetEnumerator()
		{
			for(int i=0; i<RoyalWatches.Length; i++)
			{
				if(i!=2)
					yield return RoyalWatches[i];
				else
					yield break;
			}
		}
	}
	
    class UsingWatchArray
    {
        public static void Main(string[] args)
        {
			WatchArray Watches = new WatchArray();
			
			foreach(Watch x in Watches)
			{
				Console.WriteLine("Time of {0} - {1}:{2}", x.name, x.hour, x.minute);
			}
        }
    }
}

0 Comment's

Comment Form