zoukankan      html  css  js  c++  java
  • C# 中迭代器

    .NET中的集合和列表等聚合都提供了对自身进行遍历访问的迭代方法,集合实现IEnumerable接口,而迭代器实现IEnumerator接口。因为迭代器不能脱离聚合独立存在,所以其本身没有公开的构造函数,只能通过聚合创建。不同的聚合采用不同的迭代器,在IEnumerable中定义了产生迭代器的接口,即工厂方法。如下图
    关于聚合:帽子和人
    关于组合:头和人

    实现IEnumerable接口的类,如ArrayList等集合类实现了GetEnumerator函数,即实现了工厂方法的具体实现。根据不同的类,获得不同的IEnumerator。例如,ArrayList中的GetEnumerator返回的是IEnumerator是ArrayListEnumeratorSimple,string中的GetEnumerator返回的IEnumerator是CharEnumerator:

    Code

    在这里,工厂方法起到了连接类层次的作用。

  • 相关阅读:
    看到关于java资料比较全的,自己收藏
    ie6下pnghack——css方案
    git基本操作
    购物车功能实现
    jquery学习:获取位置position(),offset(),scrollTop困惑
    Datax3.0使用说明
    Scala字符串操作
    Scala中class、object、case class、case object区别
    Scala构造函数
    scala数组操作
  • 原文地址:https://www.cnblogs.com/lhking/p/1437508.html
Copyright © 2011-2022 走看看