Мне любопытно, есть ли у кого-нибудь какие-либо правила или лучшие практики, когда имеет смысл вернуть отложенный IEnumerable<T>
или вызвать ToArray()
на нем, прежде чем возвращать его из функции.
Например, как потребитель API, я считаю, что для метода, такого как IEnumerable<Widget> GetWidgets()
, я бы предпочел бы выбросить HttpException
, когда я его вызову, и не заставлять его бросать, когда я перечисляю результаты.
public IEnumerable<Widget> GetWidgets(IEnumarable<int> widgetIds) {
return widgetIds.Select(id => GetWidgetFromWidgetWebService(id));
}