Простой пример - у вас есть метод или свойство, которое возвращает IEnumerable, и вызывающий абонент перебирает его в цикле foreach(). Если вы всегда используете "yield return" в методе IEnumerable? Есть ли причина, почему? Хотя я понимаю, что это может не всегда быть необходимым или даже "лучше" (может быть, это очень маленькая коллекция, например), есть ли причина активно избегать этого?
Бит кода, который заставлял меня думать об этом, - это функция, которую я написал очень похож на принятый ответ в этом потоке - Как мне пройти через диапазон дат?