【发布时间】:2009-10-21 01:22:33
【问题描述】:
我想要一个枚举器/生成器,每当我调用 GetNext 时,它总是会为我提供下一个值?这可能吗?
Examples:
myStringEnumerator.GetNext()
-> returns "Identifier01.xml"
myStringEnumerator.GetNext()
-> returns "Identifier02.xml"
myStringEnumerator.GetNext()
-> returns "Identifier03.xml"
myStringEnumerator.GetNext()
-> returns "Identifier04.xml"
myStringEnumerator.GetNext()
-> returns "Identifier05.xml"
...
evenNumberGenerator.GetNext()
-> returns 0
evenNumberGenerator.GetNext()
-> returns 2
evenNumberGenerator.GetNext()
-> returns 4
evenNumberGenerator.GetNext()
-> returns 6
evenNumberGenerator.GetNext()
-> returns 8
evenNumberGenerator.GetNext()
-> returns 10
...
我不会在一个地方迭代它,而是在很多地方和非常不同的时间迭代。
如何以最优雅的方式做到这一点?如果它也很快,那也很好。
【问题讨论】:
标签: c# .net collections ienumerable