1.枚举与枚举器

枚举Enum

枚举器IEnumerator

2.枚举器的方法

GetEnumerator(),get_Current() ,MoveNext() 

3.枚举器使用的例子:

1 List<QAModel> list = new List<QAModel>();
 2 QAModel qAModel = new QAModel
 3 {
 4     q = current.Header.ToString()
 5 };
 6 using (IEnumerator<object> enumerator2 = current.Items.GetEnumerator())
 7 {
 8     while (enumerator2.MoveNext())
 9     {
10         NavBarItem navBarItem = (NavBarItem)enumerator2.Current;
11         qAModel.a.Add(navBarItem.Tag.ToString());
12     }
13 }
14 list.Add(qAModel);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

 4.C#Foreach与枚举器的联系——C# Foreach循环本质与枚举器

       Foreach实际上是编译器编译后先调用GetEnumerator方法返回Enumerator的实例,这个实例即是一个枚举器实例。通过MoveNext方法移动下标来查找下一个list元素,get_Current方法获取当前查找到的元素,Reset方法是重置list。

因此Foreach的另一种写法如下:

C#-枚举器IEnumerator学习笔记_List


作者:꧁执笔小白꧂