|
Listing 14-45 extracted from chapter Unsafe code, exceptions, anonymous methods, iterators
Listing 14-44< > Listing 14-46
This listing can be compiled with the command line: csc.exe /target:exe Example_14_45.cs Errors: 0 Warnings: 0
Example_14_45.cs
using System;
using System.Collections;
public class Program {
static IEnumerator White() {
int whiteTreatmentInfo = 0;
while ( true ) {
Console.WriteLine( "white move, whiteTreatmentInfo=" +
whiteTreatmentInfo);
whiteTreatmentInfo++;
yield return black;
}
}
static IEnumerator Black() {
while ( true ) {
Console.WriteLine( "black move" );
yield return white;
}
}
static IEnumerator black;
static IEnumerator white;
static void Main() {
black = Black();
white = White();
IEnumerator enumerator = white; // Whites begin.
// We dispatche 5 times.
for ( int i = 0; i < 5; i++ ) {
enumerator.MoveNext();
enumerator = (IEnumerator) enumerator.Current;
}
}
}
Copyright Patrick Smacchia 2006 2007
|