当前位置: 首页 > news >正文

百度不收录什么网站吗做网站公司职务

百度不收录什么网站吗,做网站公司职务,两个人做aj的视频教程,做关于网站的开题报告文章目录 19.1 枚举器和可枚举类型19.2 IEnumerator 接口19.3 IEnumerable 接口19.4 泛型枚举接口19.5 迭代器19.5.1 迭代器块19.5.2 使用迭代器来创建枚举器19.5.3 使用迭代器来创建可枚举类型 19.6 常见迭代器模式19.7 产生多个可枚举类型19.8 将迭代器作为属性19.9 迭代器的… 文章目录 19.1 枚举器和可枚举类型19.2 IEnumerator 接口19.3 IEnumerable 接口19.4 泛型枚举接口19.5 迭代器19.5.1 迭代器块19.5.2 使用迭代器来创建枚举器19.5.3 使用迭代器来创建可枚举类型 19.6 常见迭代器模式19.7 产生多个可枚举类型19.8 将迭代器作为属性19.9 迭代器的实质 19.1 枚举器和可枚举类型 使用 foreach 语句 ​ 下面是使用 foreach 语句遍历数组的示例。 ​ 数组可以使用这种方式访问的原因是数组提供了枚举器对象。枚举器知道数组中元素的次序并依次返回数组中的元素。 ​ 对于有枚举器的类型而言我们使用 GetEnumerator 方法来获取其拥有的枚举器实现该方法的类型称为可枚举类型。数组就是可枚举类型。 图19.1 枚举器和可枚举类型概览 ​ foreach 结构设计用来和可枚举类型一起使用如下行为会被执行 调用 GetEnumerator 方法获取对象的枚举器。从枚举起中请求每一项并作为迭代变量可读不可写。 19.2 IEnumerator 接口 ​ 实现了 IEnumerator 接口的枚举器包含 3 个函数成员 Current返回序列中当前位置项的属性。 为只读属性。返回 object 类型的引用。 MoveNext是将枚举器位置前进到集合中下一项的方法返回布尔值。 如果新的位置有效返回 true。如果新的位置无效返回 false。 Reset将位置重置为原始状态。 枚举器的原始位置在序列中的第一项之前因此 MoveNext 必须在第一次使用 Current 之前调用。 图19.2 小集合的枚举器 ​ 在编写 foreach 循环的时候C# 编译器将生成与下面十分类似的代码以 CIL 的形式。 图19.3 .NET 数组类实现了 IEnumerator 19.3 IEnumerable 接口 ​ 可枚举类是指实现了 IEnumerable 接口的类该接口只有一个成员——GetEnumerator返回对象的枚举器。 图19.4 GetEnumerator 方法返回类的一个枚举器对象 使用 IEnumerable 和 IEnumerator 的示例 19.4 泛型枚举接口 ​ 使用 C# 泛型和非泛型的方式相差不大。 对于非泛型接口形式 IEnumerable 接口的 GetEnumerator 方法返回实现 IEnumerator 的枚举器类实例。实现 IEnumerator 的类实现了 Current 属性返回 object 类型的引用然后将其转化为对象的实际类型。 对于泛型接口形式 IEnumerableT 接口的 GetEnumerator 方法返回实现 IEnumeratorT 的枚举器类实例。实现 IEnumeratorT 的类实现了 Current 属性返回实际类型的实例而不是 object 基类的引用。实际上泛型接口的声明是协变的即 IEnumerableout T 和 IEnumeratorout T因此这些接口的对象可以是派生的类型。 ​ 泛型版本简单易用但其结构略显复杂。 图19.5 实现 IEnumerableT 接口的类的结构 19.5 迭代器 ​ 可枚举类和枚举器在 .NET 集合类中被广泛使用从 C# 2.0 版本开始提供了创建枚举器和可枚举类型更简单的方式将这种结构称为迭代器。 ​ 在下面这个示例中 迭代器返回一个泛型枚举器该枚举器返回 3 个 string 类型的项。yield return 语句声明这是枚举中的下一项。 ​ 下面的方法声明了另一个版本输出结果与上面相同。 ​ 枚举器不会一次返回所有的元素而是每次访问 Current 属性时返回一个新值。 19.5.1 迭代器块 ​ 迭代器块是有一个或多个 yield 语句的代码块可以是如下任意一种代码块 方法主体。访问器主体。运算符主体。 ​ 迭代器块描述了希望编译器为我们创建的枚举器类的行为其中的代码描述了如何枚举元素。 yield return指定序列中要返回的下一项。yield break指定在序列中没有其他项。 ​ 编译器得到有关枚举项的描述后会构建包含所有需要的方法MoveNext和属性Current实现的枚举器类产生的类被嵌套包含在声明迭代器的类中。 图19.6 根据指定的返回类型可以让迭代器产生枚举器或可枚举类型 19.5.2 使用迭代器来创建枚举器 图中左边演示了返回类型是 IEnumeratorstring。图中右边演示了它有一个嵌套类实现了 IEnumeratorstring。 图19.7 迭代器块产生了枚举器 19.5.3 使用迭代器来创建可枚举类型 ​ 本节例子使用迭代器来创建可枚举类型而不是枚举器。 BlackAndWhite 迭代器方法返回 IEnumerablestring 而不是 IEnumeratorstring。MyClass 首先调用 BlackAndWhite 方法获取可枚举类型对象然后调用该对象的 GetEnumerator 方法来获取结果从而实现 GetEnumerator 方法。 图中左边演示了返回类型是 IEnumerablestring。图中右边演示了它有一个嵌套类实现了 IEnumeratorstring 和 IEnumerablestring。 图19.8 编译器生成的类是可枚举类型并返回一个枚举器。编译器还生成了方法 BlackAndWhite返回可枚举对象 19.6 常见迭代器模式 实现返回枚举器的迭代器。 通过实现 GetEnumerator 方法让类可枚举它返回由迭代器返回的枚举器。 实现返回可枚举类型的迭代器。 实现 GetEnumerator 来让类本身可枚举或不实现来让类不可枚举。 图19.9 常见的迭代器模式 19.7 产生多个可枚举类型 ​ Spectrum 类有两个可枚举类型的迭代器但类本身不可枚举因为没有实现 GetEnumerator 方法。 19.8 将迭代器作为属性 ​ 本示例演示两个方面的内容 使用迭代器产生两个枚举器的类。演示迭代器如何实现为属性而不是方法。 ​ 这段代码声明了两个属性来定义两个不同的枚举器。GetEnumerator 方法根据 _listFromUVtoIR 布尔变量的值返回两个枚举器中的一个。如果 _listFromUVtoIR 为 true则返回 UVtoIR 枚举器否则返回 IRtoUV 枚举器。 19.9 迭代器的实质 ​ 有关迭代器的其他重要事项 迭代器需要 System.Collections.Generic 命名空间因此需要使用 using 指令进行引入。在编译器生成的枚举器中不支持 Reset 方法。Reset 是接口需要的方法所以实现了它但调用时总是抛出 System.NotSupportedException 异常。 ​ 在后台编译器生成的枚举器类总是包含 4 个状态的状态机。 Before首次调用 MoveNext 的初始状态。Running调用 MoveNext 后进入这个状态。 枚举器检测并设置下一项的位置。遇到 yield return、 yield break 或在迭代器中结束时退出 Running 状态。 Suspended状态机等待下次调用 MoveNext 的状态。After没有更多项可以枚举的状态。 图19.10 迭代器状态机
http://wiki.neutronadmin.com/news/336005/

相关文章:

  • 网站建设开票税率在百度上注册公司网站要多少钱
  • 怎样做优惠券网站高德地图实况街景怎么打开
  • 有口碑的顺德网站建设有创意的网页
  • 湖州做网站优化一个品牌的策划方案
  • 仙游县网站建设南昌seo推广公司
  • 企业网站建设的费用怎么看网站的建站公司是哪个
  • 通用搭建网站教程网站建设好后怎么更新内容
  • 网站支付端口化妆品网站建设推广方案
  • wordpress 站群个人网站设计教程
  • 外贸石材网站wordpress改后台地址
  • 师范街网站建设知识库管理系统方案
  • 购物网站哪个是正品中国海外旅游营销网站
  • 个人能不能自己做网站阿里云域名注册续费
  • 社交网站先做pc站可以吗越南做企业网站
  • 企业网站建设方案应该怎么做培训美工设计师
  • 重庆靓号网站建设无锡装修网站
  • 淮南营销型网站建设怎么样山东省住房和城乡建设厅网站6
  • 廊坊企业网站建设公司凡科的网站怎么做百度推广
  • 如何将网站让百度收录网络营销试卷
  • 用c 可以做网站吗园林公司做网站的好处
  • 网站建设项目执行进度表网上注册平台怎么注册
  • 外贸营销型网站2018软件开发定制费用
  • 做网站需要的程序数据线东莞网站建设技术支持
  • 视频付费网站建设网站建设主持词
  • 凡客网站登陆东莞好的网站建设公司
  • wordpress自动发布网站深圳公司排名名字
  • 重庆企业做网站制作网站的模板下载软件
  • 青岛网站建设制作公司如何实现网站的伪静态
  • 网站博客怎么做网站活动策划怎么做
  • 长沙医考网站建设公司江苏工程造价信息网官网