问题标签 [ienumerator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linq - 如何获得下一个和上一个值?
我有这段代码可以使用 LINQ 命名空间获取下一个值。
但是现在,我还需要获取以前的值,但是我在这里我不知道该怎么办。
c# - 枚举器作为参数
好,我们从这个非常简单的按钮点击方法开始
这个方法什么都不做,因为每个断言都优雅地通过了。一切都很好,直到我相信我应该介绍一种消除冗余的方法
尽管如此,这种重构还是很简单的(至少对我而言)。它确实破坏了程序!在第二次调用 AssertNext 时,似乎枚举器已经重置到起点并导致断言失败。
我无法理解发生了什么。我真的觉得自己是这个谜题的初学者。
我在这里想念什么?
c# - 声明一个同时支持 Void 和 IEnumerator 的函数
我想知道是否有一种方法可以声明一个支持使用 IEnumerator 和 Void 的方法(例如在接口中),而无需在子类中实现这两者?
这与我的另一个问题有关:协程完成时保持或等待
我注意到在 Unity 上下文中,默认Start()
方法似乎允许两者。
.net - IEnumerable & IEnumerator 后缀
如果您有一个实现但未实现IEnumerable
的类,或者您使用什么后缀?IEnumerator
ICollection
IList
ISet
c# - IEnumerable 与 IObservable 的本质有何不同?
我很好奇与引擎盖下有什么IEnumerable
不同。IObservable
我分别了解拉取和推送模式,但是 C# 在内存等方面如何通知订阅者(对于 IObservable)它应该接收内存中的下一位数据以进行处理?观察到的实例如何知道要推送给订阅者的数据发生了变化。
我的问题来自我正在从文件中读取行的测试。该文件总共约6Mb。
标准耗时:4.7s,行数:36587
接收时间:0.68s,行数:36587
Rx 如何能够大规模改进文件中每一行的正常迭代?
c# - IEnumerable C# 类操作方法
下面是我的课。我需要使其可枚举。我在网上查看过,虽然我找到了很多文档,但我仍然迷路了。我认为这绝对是我第一次要问这个问题,但是有人可以请让这个该死的东西为我枚举,我会从那里弄清楚。我正在使用 C# ASP.Net 4.0
c# - C#:IEnumerable 的循环枚举
我当前的应用程序中有命令层次结构。
因此,有些命令是有状态的,有些则不是。
我需要在命令执行期间以循环方式枚举 IEnumerable 以实现某些命令。
Execute
时不时调用,所以需要存储迭代状态。
如何实现该循环枚举?
我找到了两个解决方案:
使用
IEnumerator<T>
界面。看起来像:使用循环
IEnumerable<T>
(yield
永远相同的序列):“实现循环迭代器”-HonestIllusion.Com。
也许,有更多的方法来实现它。
你会推荐使用什么,为什么?
c# - 这是在滥用 IEnumerator 构造吗?
我有一个Sensor
状态机,我已经为其编写了Cycle()
方法:
执行:
我已经阅读了Eric Lippert对使用 IEnumerator作为StateMachine 进行查询的回答。我的实现是否滥用或利用了 IEnumerator?我将我的实现视为提供一系列状态自动化的一种方式。
c# - 为什么 RunThis() 什么都不做?
我正在 Unity3d 中开发一个项目,我正在编写一些代码,最初我将 IEnumerator 作为 Start 而不是 RunThis 并且代码运行良好,现在我将它移入一个新方法,它没有做任何事情。有人可以解释一下吗?
Ps 我预计至少有人会告诉我有关 unityanswers 的信息,是的,我知道它存在,但该网站的错误太多,我相信有人听到可以回答这个问题,谢谢。
c# - 为什么 Iterator 定义 remove() 操作?
在 C# 中,IEnumerator接口定义了一种遍历集合并查看元素的方法。我认为这非常有用,因为如果您传递IEnumerable<T>
给一个方法,它不会修改原始源代码。
但是,在 Java 中,Iterator将删除操作定义为(可选!)允许删除元素。Iterable<T>
传递给方法没有任何优势,因为该方法仍然可以修改原始集合。
remove
的可选性是拒绝遗赠气味的一个例子,但忽略这一点(已经在这里讨论过)我会对促使remove
事件在接口上实现的设计决策感兴趣。
导致remove
被添加到的设计决策是Iterator
什么?
换句话说,明确没有remove
定义的 C# 设计决策是IEnumerator
什么?