gpt4 book ai didi

c# - 什么时候返回延迟的 IEnumerable 是错误的形式

转载 作者:可可西里 更新时间:2023-11-01 08:27:02 24 4
gpt4 key购买 nike

我很好奇是否有人对何时返回延迟的 IEnumerable<T> 有任何经验法则或最佳实践或调用ToArray()在从函数返回之前在它上面。

例如,作为 API 的使用者,我认为我更喜欢 IEnumerable<Widget> GetWidgets() 这样的方法扔一个HttpException当我调用它而不是在枚举结果时抛出它。

public IEnumerable<Widget> GetWidgets(IEnumarable<int> widgetIds) {
return widgetIds.Select(id => GetWidgetFromWidgetWebService(id));
}

最佳答案

我总是喜欢返回延迟的 IEnumerable<T>当它被推迟没有明显的副作用时。例如,如果可枚举基于可能会更改的内部集合,我宁愿先对其求值。

但是,如果正在计算可枚举等,那么我通常会推迟它。

关于c# - 什么时候返回延迟的 IEnumerable<T> 是错误的形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com