Streaming ForEach using a yield

I’ve been looking for an article on converting foreachs into a less memory intensive operation and I remember reading before, I just couldn’t find it.

Basically it uses an example of all numbers in the New York phone book to develop a means of streaming the loops using custom iterators using yield instead of loading it all in and looping through it all.