Implement IEnumerable and IEnumerator : IEnumerator « Data Structure « C# / CSharp Tutorial

Home
C# / CSharp Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statement
5.String
6.struct
7.Class
8.Operator Overload
9.delegate
10.Attribute
11.Data Structure
12.Assembly
13.Date Time
14.Development
15.File Directory Stream
16.Preprocessing Directives
17.Regular Expression
18.Generic
19.Reflection
20.Thread
21.I18N Internationalization
22.LINQ
23.GUI Windows Forms
24.Windows Presentation Foundation
25.Windows Communication Foundation
26.Workflow
27.2D
28.Design Patterns
29.Windows
30.XML
31.XML LINQ
32.ADO.Net
33.Network
34.Directory Services
35.Security
36.unsafe
C# / C Sharp
C# / C Sharp by API
C# / CSharp Open Source
C# / CSharp Tutorial » Data Structure » IEnumerator 
11.44.5.Implement IEnumerable and IEnumerator
using System; 
using System.Collections; 
 
class MyClass : IEnumerator, IEnumerable 
  char[] chrs = 'A''B''C''D' }
  int index = -1
 
  // Implement IEnumerable. 
  public IEnumerator GetEnumerator() { 
    return this
  
 
  // The following methods implement IEnumerator. 
 
  // Return the current object. 
  public object Current 
    get 
      return chrs[index]
    
  
 
  // Advance to the next object.  
  public bool MoveNext() { 
    if(index == chrs.Length-1) { 
      Reset()// reset enumerator at the end. 
      return false
    
     
    index++; 
    return true
  
    
  // Reset the enumerator to the start. 
  public void Reset() { 
    index = -1
  }  

 
class MainClass 
  public static void Main() { 
    MyClass mc = new MyClass()
 
    // Display the contents of mc. 
    foreach(char ch in mc
      Console.Write(ch + " ")
 
    Console.WriteLine()
 
    // Display the contents of mc, again. 
    foreach(char ch in mc
      Console.Write(ch + " ")
 
    Console.WriteLine()
  
}
A B C D
A B C D
11.44.IEnumerator
11.44.1.A simple example of an iterator.
11.44.2.Iterated values can be dynamically constructed.
11.44.3.Use named iterators
11.44.4.Use the Enumerable pattern
11.44.5.Implement IEnumerable and IEnumerator
11.44.6.Define custom enumerators and use foreach to loop through
11.44.7.Build your own IEnumerator/IEnumerable and use it in foreach loop
11.44.8.Circular Iterator
11.44.9.Iteration Sample
11.44.10.Iterator Workflow
11.44.11.IEnumerator and ArrayList, BitArray, Hashtable and array
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.