IEnumerabl 和 IEnumertator

it2022-05-29  60

public interface IEnumerable   {       IEnumerator GetEnumerator();   }  

IEnumerator 接口

public interface IEnumerator   {       bool MoveNext();       object Current { get; }       void Reset();   }  

实现IEnumerable接口的话需要实现其 IEnumerator.GetEnumerator 方法,其后也是需要实现 IEnumerator接口的方法(迭代模板)

public class ListEnumerator : IEnumerator   {       private int _currentIndex = -1;              public bool MoveNext()       {           _currentIndex++;                 return (_currentIndex < _objects.Count);        }             public object Current       {            get           {               try               {                   return _objects[_currentIndex];               }               catch (IndexOutOfRangeException)               {                   throw new InvalidOperationException();               }       }             public void Reset()       {           _currentIndex = -1;       }  

 

c#

中,所有集合(如列表、字典、堆栈、队列等)是可枚举的,因为它们实现IEnumerable接口。所以是字符串。 您可以使用foreach块遍历字符串到字符串中的每个字符。

 

转载于:https://www.cnblogs.com/ILoveMyJob/p/10786808.html


最新回复(0)