zoukankan      html  css  js  c++  java
  • IEnumerable IEnumerator 自己定义迭代器

       public class Person
        {
            string Name;
            int Age;
    
            public Person(string name, int age)
            {
                Name = name;
                Age = age;
            }
    
            public override string ToString()
            {
                return "Name: " + Name + "	Age: " + Age;
            }
        }
    
    
      public class People : IEnumerable
        {
            private Person[] _people;
            public People(Person[] pArray)
            {
                _people = new Person[pArray.Length];
                for (int i = 0; i < pArray.Length; i++)
                {
                    _people[i] = pArray[i];
    
                }
            }
    
            public IEnumerator GetEnumerator()
            {
                return new PeopleEnum(_people);
            }
        }
    
      public class PeopleEnum : IEnumerator
        {
            private Person[] _people;
            int position = -1;
    
            public PeopleEnum(Person[] list)
            {
                _people = list;
            }
    
            public bool MoveNext()
            {
                position++;
                return (position < _people.Length);
            }
    
            public void Reset()
            {
                position = -1;
            }
    
            public object Current
            {
                get
                {
                    return _people[position];
                }
            }
    
        }
  • 相关阅读:
    P1158 导弹拦截
    麦基数(p1045)
    Django之路由层
    web应用与http协议
    Django之简介
    Mysql之表的查询
    Mysql之完整性约束
    Mysql之常用操作
    Mysql之数据类型
    Mysql之数据库简介
  • 原文地址:https://www.cnblogs.com/lemonP/p/7059551.html
Copyright © 2011-2022 走看看