C#-枚举器IEnumerator学习笔记

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);

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

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

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

引用:https://www.cnblogs.com/SunSpring

posted @ 2021-01-15 17:10  ꧁执笔小白꧂  阅读(340)  评论(0)    收藏  举报