Mega Code Archive

 
Categories / ASP.Net Tutorial / Collections
 

IEnumerable, IEnumerator

<%@ Page Language="C#" %> <script runat="server"> void Page_Load() {   CustomCollection customCollection = new CustomCollection(10);      DemoOutput.Text = "";   foreach (CustomItem customItem in customCollection)   {     DemoOutput.Text += customItem.Index + "<br />";   } } public class CustomCollection : IEnumerable, IEnumerator {   private CustomItem[] customItems;   private int current = -1;   public CustomCollection(int Count)   {     customItems = new CustomItem[Count];     for (int index = 0; index < Count; index++)     {       customItems[index] = new CustomItem(index);     }   }   #region Implementation of IEnumerable   public IEnumerator GetEnumerator()   {     return (IEnumerator) this;   }   #endregion   #region Implementation of IEnumerator   public void Reset()   {     current = -1;   }   public bool MoveNext()   {     if (current < customItems.Length - 1)     {       current++;       return true;     }     else     {       return false;     }   }   public object Current   {     get     {       return customItems[current];     }   }   #endregion } public class CustomItem {   private int index;      public int Index   {     get     {       return index;     }   }      public CustomItem(int Index)   {     index = Index;   } } </script> <html>   <head>     <title>Creating a Custom Collection</title>   </head>   <body>     <form id="MainForm" runat="server">       Output of Looping through a Custom Collection       <br />       <asp:literal id="DemoOutput" runat="server" />     </form>   </body> </html>