Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 14-40 extracted from chapter Unsafe code, exceptions, anonymous methods, iterators


Listing 14-39<     > Listing 14-41


This listing can be compiled with the command line:
csc.exe /target:exe Example_14_40.cs
Errors: 0 Warnings: 0


Example_14_40.cs
public class Persons{
   string[] m_Names;
   public Personsparams string[] names ){
      m_Names = new string[names.Length];
      names.CopyTo(m_Names, 0);
   }
   public System.Collections.Generic.IEnumerable<string> Reverse {
      get {
         for (int = m_Names.Length - 1; i >= 0; i--)
            yield return m_Names[i];
      }
   }
   public System.Collections.Generic.IEnumerable<string> PosEven {
      get {
         for (int = 0; i < m_Names.Length ; i++,i++)
            yield return m_Names[i];
      }
   }
   public System.Collections.Generic.IEnumerable<string> Concat {
      get {
         foreach (string in Reverse)
            yield return s;
         foreach (string in PosEven)
            yield return s;
      }
   }
}
class Program {
   static void Main() {
      Persons arrPersons = new Persons(
                   "Michel""Christine""Mathieu""Julien");
      System.Console.WriteLine( "-->Iterator Reverse" );
      foreach string in arrPersons.Reverse )        
         System.Console.WriteLine( s );
      System.Console.WriteLine( "-->Iterator PosEven" );
      foreach string in arrPersons.PosEven )
         System.Console.WriteLine( s );
      System.Console.WriteLine( "-->Iterator Concat" );
      foreach string in arrPersons.Concat )         
         System.Console.WriteLine( s );
   }
}	
Copyright Patrick Smacchia 2006 2007