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