首页 > 其他分享 >迭代器 _知识

迭代器 _知识

时间:2023-01-10 23:46:50浏览次数:44  
标签:迭代 对象 IEnumerator 知识 IEnumerable MoveNext 方法

//迭代器是什么

 //迭代器(iterator)有时又称光标(cusor)
 //是程序设计的软件设计模式
 //迭代器模式提供一个方法顺序访问一个聚合对象中的各个元素
 //而又不暴露其内部的标识

 //在表现效果上看
 //是可以在容器对象(列如链表或者数组)上遍历访问的接口
 //设计人员无需关心容器对象的内存分配的实现细节
 //可以用foreach遍历的类,都是实现了迭代器的

//标准迭代器的实现方法

//关键接口:IEnumerator,IEnumerable
//命名空间:using system.collections
//可以通过同时继承IEnumerable和IEnumberator实现其中的方法

//foreach本质

//1先获取in后面这个对象的IEnumerator
//会调用对象其中的GetEnumerator方法 来获取
//2执行得到这个IEnumerator对象中的MoveNext方法
//3只要MoveNext方法的返回值为TRUE就回去得到current

标签:迭代,对象,IEnumerator,知识,IEnumerable,MoveNext,方法
From: https://www.cnblogs.com/L-love-Z/p/17041686.html

相关文章

  • Go语言核心知识回顾(反射)
    有时要求写一个函数有能力统一处理各种值类型的函数,而这些类型可能无法共享同一个接口,也可能布局未知,也有可能这个类型在设计函数时并不存在,当我们无法透视一个未知类型的......
  • Day11:数组基础知识
    packagecom.dfyfhqsgclxry.array;publicclassArrayDemo08{publicstaticvoidmain(String[]args){//1.创建一个二维数组11*11,0:没有棋子1:黑棋2:白棋int[......
  • 1月10日内容总结——linux前期知识储备,linux系统、目录、文件相关命令,vi和vim,目录结构
    目录一、前期必备知识二、系统运⾏命令帮助指令关机/重启命令三、快捷方式命令四、⽬录结构与文件相关命令1、pwd显示当前目录绝对路径指令2、cd切换到指定目录指令3、mkdi......
  • C# 里面的小知识
    最近在B站刷视频的时候刷到了一个C#冷知识系列的视频,恰好最近从头开始看官方文档,就想着把他整理成文档当作自己的随笔。视频链接:C#的一些冷知识这边不考虑性能什么方面......
  • Docker基础知识 (23) - 使用 Docker 部署 Nginx + Php/Laravel + MariaDB 项目 (2) -
    本文在“Docker基础知识(12)-使用Docker部署Nginx+Php/Laravel+MariaDB项目”基础上,修改Nginx的配置文件和docker-compose.yml,配置phpMyAdmin目录密码保......
  • 基因突变相关知识
    单核苷酸变异(SNV)是群体基因组中一个核苷酸的变异,是一种低频突变。尽管与SNV相似,单核苷酸多态性(SNP)也是一个碱基被替换,但它仅限于生殖系DNA,必须在至少1%的群体中存在,是一种......
  • CSS_1_基本知识
    css是指层叠样式表,依赖于HTML存在,作用:给网页进行样式开发,给网页进行布局。   使用过程:1、声明css代码域2、使用选择器选择要添加样式的标签3、书写......
  • c#数据结构与算法(1)预备知识
    该文档主要是本人的学习笔记,用于备忘,若有侵权,可随时联系删除!参考学习网址:https://www.dotcpp.com/course/94https://www.cnblogs.com/manuosex/tag/C%23/default.html?......
  • java反射field相关知识
    Classc=ArrayList.class;c.isPrimitive();//判断c是否为基本数据类型c.isAssignableFrom(List.class);//判断c是否是List类的子类或父类c.getGenericType();//......
  • C++核心知识回顾(自定义数据类型)
    复习C++类自定义数据类型最灵活的方式就是使用C++的类结构现在定义一个货币类型Currency:enumsignType{PLUS,MINUS};classCurrency{public:Currency(signTy......