首页 > 其他分享 >枚举和迭代器

枚举和迭代器

时间:2022-10-03 15:24:42浏览次数:46  
标签:迭代 ll List yield 枚举 集合

  枚举器

  枚举器是指一个参数类型,有MoveNext()方法和Current属性,MoveNext方法可以将枚举器的游标指向下一个元素,Current属性存储着游标当前指向的参数。可以使用GetEnumerator()方法获得对象的枚举器,然后使用MoveNext()方法和Current属性遍历对象。

  集合初始化

  正常使用泛型集合时,只需要一步就可以完成集合的创建和赋值,但编译器还是会编译成使用.add添加元素的形式往集合里添加元素。

List<int> ll = new List<int>() {1,2,3 };

List<int> ll = new List<int>();
ll.Add(1);
ll.Add(2);
ll.Add(3);

  正常我们访问集合时,会使用’变量[下标]‘这种形式访问集合中的某个元素,实际上,所有含有枚举器的对象都可以使用这种下标的形式访问对象。

  迭代器

  迭代器是指包含一个或多个yield语句的属性,方法,或索引器。

  yield的含义是:当程序执行到yield语句时,会将控制权交到调用者手里,但包含yield语句的方法会保存执行状态,等下次执行方法时会继续上次的状态执行,状态的生命周期会绑定到枚举器上,当枚举器完成枚举动作后,状态才可以释放

  yield return返回一个IEnumerable对象,可以通过GetEnumerator()方法获得对象的枚举器,然后遍历对象。

  yield return不能出现在含有catch块的try、catch、finally子句里,但catch可以出现在只含try、finally的try块的语句里,枚举器的生命周期结束后,就会执行finally的内容。

  迭代器可以嵌套组合使用

标签:迭代,ll,List,yield,枚举,集合
From: https://www.cnblogs.com/lrplrplrp/p/16750568.html

相关文章

  • 第一季:5递归与迭代【Java面试题】
    第一季:5递归与迭代【Java面试题】​​前言​​​​推荐​​​​第一季:5递归与迭代​​​​题目​​​​递归​​​​循环迭代​​​​小结​​​​最后​​前言20229/3012......
  • [数值分析]解线性方程组的迭代法
    解线性方程组的迭代法前言本文主要用两个简单的例子来介绍了解线性方程组的三种迭代法的原理和实现方法:第一个例子供我们去学习,而第二个例子供我们去验证。还另外介绍......
  • POJ 2110 Mountain Walking(二分 枚举 BFS)
    POJ2110MountainWalking(二分枚举BFS)题目:​ 给出一张\(n*n(n\le100)\)的地图,每个点都有一个点权\((val\le110)\),可以任意选择路径,请问从(1,1)走到(n,n)的路......
  • Java SE 宋红康 days04-高级篇-枚举类
    1.自定义枚举类a.声明类A对象的属性:private final修饰b.私有化类的构造器,并给对象属性赋值c.提供当前枚举类的多个对象:public static final......
  • C语言的enum(枚举)
    一、enum的语法格式为:enum枚举名{枚举元素1,枚举元素2,……}; 二、用enum代替define繁琐的定义1、繁琐的define定义:#defineMON1#defineTUE2#defineW......
  • 传统优化方法:枚举法、启发式算法和搜索算法
    1.枚举法枚举出可行解集合内的所有可行解,以求出精确最优解。对于连续函数,该方法要求先对其进行离散化处理,这样就可能因离散处理而永远达不到最优解。当枚举空间比较大时......
  • 迭代器Iterator
    学集合之前我们先来学习迭代器?那什么是迭代器。迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每......
  • 迭代器模式 Iterator
    “数据结构”模式常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提......
  • 迭代器iterator在程序到底起什么作用? ——整理
    1.类似于一个指针,但不是指针2.在container中相当于指向element的指针,但其实现并不是指针,而是对象。 3.从大的方面讲是容器和算法之间的黏合剂从小的方面讲是类似智能指针......
  • Python基础(八) | 深浅拷贝、生成器、迭代器以及装饰器详解
    ⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深......