问题标签 [enumerator]

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.

0 投票
4 回答
1173 浏览

c# - 你如何设计一个返回(理论上)无限数量的项目的枚举器?

我正在编写类似于此的代码:

显然,这种方法永远不会返回。(C# 编译器默默地允许这样做,而 R# 给我警告“函数永远不会返回”。)

一般来说,提供一个返回无限数量项目的枚举器,而不提供停止枚举的方法,是不是糟糕的设计?

这种情况有什么特殊的考虑吗?内存?性能?其他陷阱?

如果我们总是提供退出条件,有哪些选项?例如:

  • 表示包含或排除边界的 T 类型对象
  • 一个Predicate<T> continue(一样TakeWhile
  • 一个计数(就像Take这样)
  • ...

我们应该依赖用户调用Take(...)/ TakeWhile(...)afterUnfold(...)吗?(也许是首选选项,因为它利用了现有的 Linq 知识。)

如果代码将按原样(通用)或作为此模式的特定实现在公共 API 中发布,您会以不同的方式回答这个问题吗?

0 投票
1 回答
368 浏览

c++ - for_each 在 COM IEnumXxx 接口上?

我有一个返回 IEnumUnknown 的 COM 对象。有什么东西可以把它变成一个 STL 风格的迭代器吗?这样我就可以做这样的事情:

...或类似的?

0 投票
6 回答
9785 浏览

c# - 如何一次迭代两个数组?

我在解析文本文件时构建了两个数组。第一个包含列名,第二个包含当前行的值。我需要一次遍历两个列表来构建地图。现在我有以下内容:

这工作得很好,但它并不能完全满足我的优雅感,如果数组的数量大于两个(我偶尔必须这样做),它会变得非常毛茸茸。有没有人有另一个更简洁的成语?

0 投票
2 回答
10036 浏览

c# - 将非泛型集合转换为泛型集合的最佳方法

将非泛型集合转换为泛型集合的最佳方法是什么?有没有办法 LINQ 呢?

我有以下代码。

谢谢!

0 投票
6 回答
52517 浏览

asp.net-mvc - 如何在 ASP.NET MVC 中枚举 formcollection?

如何枚举ASP.NET MVC中 FormCollection (system.web.mvc) 的所有键/值?

0 投票
3 回答
282 浏览

c# - 从 Hashtable 复制 nk/v 对

我有一个包含 n 条记录的哈希表。我需要复制 x 和 y 之间的记录并遍历它们。

我该怎么做?

例子:

HT1.Count = 500;

HT2 = HT1[0] - HT1[100];

- 编辑 -

请注意,这样做的原因是我正在从 .MSG 文件生成 PDF。最终用户出现的问题是,当他们获得 12GB PDF 时会导致问题:P

我需要将 PDF 分解为 250 条消息,然后开始一个新的 PDF。所以顺序并不重要,每次返回相同的记录也不重要,因为它只会执行一次。

0 投票
1 回答
976 浏览

c# - DataSet:Enumerator 和 FindById 不返回相等的 DataRow

今天我的代码中的问题有点奇怪,我还无法重现它。我正在使用一个类型化的数据集(由设计器创建),并且我正在遍历数据表中的所有行。

有时(!),当通过主键查找时,返回的行不等于来自枚举器的行。这是我为重现该问题而编写的一些代码:

不会向控制台写入任何行,因为 FindById 总是返回相同的行,这确实是合乎逻辑的。在我的项目代码中,使用带有几个字符串列的类似数据集,在大约 3% 的行中(总是相同的行!)它没有,并且其中一个字符串字段只是空的:

主键是唯一的主键字段,因此 FindById 是一个生成的方法。有没有人知道一点提示或以前遇到过同样的问题?恐怕这是我制作的一个非常特殊的案例,它启用了这个错误或功能。:)

我考虑了枚举完成的演员阵容产生这种可能性的可能性。枚举器确实适用DataRow于生成的类型化行的基本类型。但是我并没有发现哪里有问题...

干杯马蒂亚斯

0 投票
10 回答
727 浏览

.net - .net 枚举第一个和最后一个

.NET(或某种标准扩展方法)中有没有办法询问枚举问题?

例如,当前项是枚举中的第一项还是最后一项:

0 投票
8 回答
61794 浏览

ruby - 在 Ruby 早期转义 .each { } 迭代

代码:

我想抓住前 10 个项目,然后离开“每个”循环。

我用什么替换注释行?有更好的方法吗?更多 Ruby 惯用的东西?

0 投票
1 回答
95 浏览

wmi - 获取与进程关联的 .NET 类

作为我正在创建的 WMI 耦合提供程序的一部分,我需要编写一个实例枚举器。我的代码如下。我需要做的是获取与流程关联的 Class 实例。有任何想法吗?