我创建了一个由间隔组成的数据结构。数据结构自然应该有一个枚举器来枚举所有区间,但我想公开两个不同的枚举器,它们以不同的顺序枚举区间。
枚举器之一非常快速地枚举间隔,但顺序有些随意。另一个按字典顺序枚举它们,但速度稍慢(尽管取决于间隔)。根据您尝试实现的目标,一个枚举器可能比另一个更喜欢。
例如,有没有办法让用户决定应该在 foreach 循环中使用哪个枚举器?如果没有,我可以很容易地拥有一个用于在枚举数之间切换的属性,或者构造函数可以采用一个额外的参数。但我有点担心它会引起更多的混乱而不是方便。
我是否应该为另一个枚举器创建一个单独的方法来返回一个 IEnumerator?这个奇怪的小问题有最佳实践吗?