Pattern: Iterator
Description
Iterator design pattern allows to traverse a container and access the container’s elements.
Example in .NET :
DirectoryEnumerable
namespace Iterator; internal class DirectoryEnumerableDemo { public static void DirectoryEnumerableFiles(int nrMaxFiles) { var count = 0; //what if we called Directory.GetFiles foreach (var file in Directory.EnumerateFiles(@"c:\","*.*",SearchOption.AllDirectories)) { count++; if (count > nrMaxFiles) break; Console.WriteLine(file); } } }
Learn More
Homework
With the Yield keyword implement a function that return an IEnumerable of generic int that will return the first 10 numbers of the Fibonacci sequence
Leave a Reply