Here is some further reading;
- from C# reference -yield (C# Reference)
- from stackoverflow - C# - Proper Use of yield return?
- from stackoverflow - What does “yield break;” do in C#?
- from stackoverflow - Yield keyword value added?
- from C# in Depth - Sample Chapter 6 - Implementing iterators the easy way