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

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

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

    Code

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

  • 相关阅读:
    零基础入门深度学习(1)
    RxJava 复杂场景 Schedulers调度
    Kotlin 学习
    Cordova CrossWalk
    Android Studio工程导入另一个工程作为lib
    Android 数据存储相关
    Android Activity 生命周期中onStart()和onResume()的区别
    反省与规划
    Android 依赖注入 ButterKnife 基本使用
    Android Socket 相关
  • 原文地址:https://www.cnblogs.com/lhking/p/1437508.html
Copyright © 2011-2022 走看看