Tag: ienumerator

IEnumerator是否有“HasNext”方法?

使用Java Iterator ,我使用hasNext方法来确定迭代是否有更多元素(不消耗元素) – 因此, hasNext就像一个“ Peek ”方法。 我的问题:C#的通用IEnumerator是否有类似“ hasNext ”或“ Peek ”的方法?

有关IEnumerable和IEnumerator的问题

我使用以下代码使myClass使用foreach。 但我对编程很新,并且在理解下面的代码时遇到一些困难。 我在评论中描述了我的问题。 我很感激提供一些信息。 public class MyClass : IEnumerable { //1) What is IEnumerator for? // Whats the difference between IEnumerator and IEnumerable public IEnumerator GetEnumerator() { yield return “first”; yield return “second”; } //2) What is it for? It just calls above method IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } } //3) Lastly what benefits […]

将IEnumerator转换为通用IEnumerator的最佳方法是什么?

我正在为C#.NET 3.5中的自定义ConfigurationHandler编写自定义ConfigurationElementCollection,并且我希望将IEnumerator公开为通用IEnumerator。 实现这一目标的最佳方法是什么? 我目前正在使用代码: public new IEnumerator GetEnumerator(){var list = new List(); var baseEnum = base.GetEnumerator(); while(baseEnum.MoveNext()){var obj = baseEnum.Current as GenericObject; if(obj!= null)list.Add(obj); } return list.GetEnumerator(); } 干杯