IEnumerable<T>
関数からそれを返す前に、遅延オブジェクトを返すか、それを呼び出すことが理にかなっている場合について、誰かが経験則またはベストプラクティスを持っているかどうか興味がToArray()
あります。
たとえば、API のコンシューマとして、メソッドを呼び出しIEnumerable<Widget> GetWidgets()
たHttpException
ときにスローし、結果を列挙しているときにスローしないようなメソッドを好むと思います。
public IEnumerable<Widget> GetWidgets(IEnumarable<int> widgetIds) {
return widgetIds.Select(id => GetWidgetFromWidgetWebService(id));
}