【发布时间】:2014-06-18 00:30:01
【问题描述】:
IEnumerator.MoveNext() 的实现是否预计会相对较快?或者如果“移动到下一项” 包括磁盘 IO、Web 请求或其他可能长时间运行的操作,是否可以?
例如,我正在处理一个处理文档的项目,并希望将对文档的访问抽象为IDocumentSource。 IDocumentSource 的一些实现可能只是从本地文件系统中提取文档,而其他人可能会在打开文件之前将文档从网络服务器下载到临时位置。在这种情况下,MoveNext() 将关闭并删除之前的临时文件,然后下载并打开下一个要处理的文件。
【问题讨论】:
-
如果不是“快”,我会比较不安;但更是如此。
-
是的,我同意这一点。即使它不是 IEnumerator 的记录最佳实践
标签: ienumerator