我很好奇是否有人有任何经验法则或最佳实践,什么时候返回延迟或在从函数返回之前IEnumerable<T>
调用它是有意义的。ToArray()
例如,作为 API 的使用者,我认为我更喜欢在调用它时IEnumerable<Widget> GetWidgets()
抛出一个方法HttpException
,而不是在我枚举结果时抛出它。
public IEnumerable<Widget> GetWidgets(IEnumarable<int> widgetIds) {
return widgetIds.Select(id => GetWidgetFromWidgetWebService(id));
}