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的另一种写法如下: