使用 IEnumerator的模式在接口中
我有一个 C# 类,需要通过一堆方法处理一系列项目 (IEnumerable),因此我不能简单地在方法内 foreach 。我调用 .GetEnumerator() 并传递此 IEnumerato…
为什么 BCL 集合使用结构枚举器而不是类?
我们都知道可变结构通常是邪恶的。我也很确定,因为 IEnumerable.GetEnumerator() 返回类型 IEnumerator,结构会立即装箱为引用类型,成本超过如果它…
IEnumerator:Dispose 方法为空是否正常?
我正在编写一个 IEnumerator 用于迭代 COM 集合的类 我是 包装。我注意到 IEnumerator 扩展了 IDisposable,因此我需要实现 Dispose 方法。 但是,我…
如何实现需要重复成员名称的接口?
我经常必须实现一些接口,例如 IEnumerable 。 每次,在自动实现时,我都会遇到以下情况: public IEnumerator GetEnumerator() { // Code here... } …
我们可以在不使用 IEnumerable 接口的情况下使用 GetEnumerator() 吗?
我有一个名为 Primes 的类,该类实现 GetEnumerator() 而不实现 IEnumerable 接口。 public class Primes { private long min; private long max; pub…
为什么.net中的数组只实现IEnumerable而不实现IEnumerable?
我正在实现自己的 ArrayList 类,当我意识到这 public System.Collections.Generic.IEnumerator GetEnumerator() { return _array.GetEnumerator(); }…
在迭代期间从 SortedList 中删除是否安全
我的问题是枚举器从 SortedList 中删除项目是否安全? SortedList myDictionary; // omitted code IEnumerator enum = myDictionary.GetEnumerator();…
为什么在这个例子中(来自msdn),在GetEnumerator方法中,new PeopleEnum返回IEnumerator?
为什么在 MSDN 的这个示例中,在 GetEnumerator 方法中,PeopleEnum 返回 IEnumerator? public class Person { public Person(string fName, string …
IEnumerable 和 IEnumerator 在同一个类中,不是个好主意吗?
这是一个坏主意吗? Private Class GH_DataStructureEnumerator(Of Q As Types.IGH_Goo) Implements IEnumerable(Of Q) Implements IEnumerator(Of Q)…
在 foreach 循环中访问枚举器?
我有一个 List 类,我想重写 GetEnumerator() 以返回我自己的 Enumerator 类。该枚举器类将具有两个附加属性,这些属性将在使用枚举器时更新。 为了简…
返回一个空的 IEnumerator
我有一个接口,除其他外,它实现了“public IEnumerator GetEnumerator()”方法,因此我可以在 foreach 语句中使用该接口。 我在几个类中实现了这个接…
是否有可能获得 IEnumerator来自 T[]?
假设我想创建一个默认情况下线程安全的集合类。 在内部,该类有一个名为 Values 的受保护 List 属性。 对于初学者来说,让类实现 ICollection 是有意…
将 CollectionBase 转换为 List 或可用于 Linq 的数据类型
我正在使用 Aspose 单元格来操作 Excel 电子表格。 API 中的类型之一是电子表格中的图片集合,它派生自 CollectionBase: 请参阅此链接: http://www …
从数组中获取通用枚举器
在 C# 中,如何从给定数组获取通用枚举器? 在下面的代码中,MyArray 是 MyType 对象的数组。 我想以所示的方式获取 MyIEnumerator, 但似乎我获得了…