The yield return keyword lets a method stop and start again, so it can make values one at a time instead of all at once. This helps to create custom iterators in a simple and fast way.