zoukankan      html  css  js  c++  java
  • IEnumerable接口学习

    用途:IEnumerable 只是为了实现foreach语句用的.
    主要的方法有:IEnumerator GetEnumerator()   //返回一个循环访问集合的枚举数,返回类型是IEnumerator
    实例:
     
    public class Person : IEnumerable 
        { 
            private string[] names= new string[] { "A", "B", "C" }; 
          
             public IEnumerator GetEnumerator() 
            { 
                 //调用PersonEnumerator类的构造函数,并Person类中的names数组传递过去 
                     return new PersonEnumerator(names); 
            }  
         }
    public class PersonEnumerator : IEnumerator 
        { 
           //定义一个字符串数组 
           private string[] _names;   
          //遍历时的索引 
           private int index = -1; 
     
           //构造函数,带一个字符串数组的参数 
           public PersonEnumerator(string[] temp) 
           { 
               _names = temp; 
           } 

         //返回当前索引指向的names数组中的元素 
         public object Current 
           { 
               get { return _names[index]; } 
         } 
    //索引,判断是否遍历完成 
            public bool MoveNext() 
           { 
              index++; 
                if (index < _names.Length) 
              { 
                   return true; 
               } 
                else 
                   return false; 
         } 

         //重置索引的值,以便下一次遍历 
           public void Reset() 
           { 
               index = -1; 
          } 
        } 
    static void Main(string[] args)          {         
    Person p1 = new Person();          
    IEnumerator rator = p1.GetEnumerator();        
        while (rator.MoveNext())          
        { 
    Console.WriteLine(rator.Current);         
      }        
        Console.ReadKey();       
    }
     

    总结:继承IEnumerable 接口的, 只要实现了这个接口的对象都可以用来遍历。

     
     
  • 相关阅读:
    Shell是linux下的脚本语言解析器
    semver 是 语义化版本
    js中限制字符串输入中英文字符的长度封装
    chalk.js(node终端样式库)
    分页
    利用Nodejs的os.networkInterfaces()模块修改vuecli项目默认打开地址
    物理像素
    长列表优化eg
    [JSOI2008]球形空间产生器
    标记不下传线段树(混蛋树)
  • 原文地址:https://www.cnblogs.com/aggierwyp/p/wpf_IEnumerable.html
Copyright © 2011-2022 走看看