Another nice addition to C# 2.0 is the
yield keyword. Yield enables iterator blocks to provide values to an enumerated result, see the following example.
What does this mean in English? Essentially, iterator blocks can
implicitly create an array of results, which supports IEnumerable,
without having to declare an array data type and populating it.
The following line will signal the end of the iteration.