博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#】如何实现一个迭代器
阅读量:4085 次
发布时间:2019-05-25

本文共 804 字,大约阅读时间需要 2 分钟。

  • 能够被foreach迭代的,那么它的内部一定实现了迭代器
  • 需要继承 IEnumerable 接口或者是IEnumerable 接口,并实现其中的GetEnumerator方法
  • 迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代
using System;using System.Collections;namespace TEST{    // 在自定义的类的内部实现迭代器方法    public class DaysOfTheWeek : IEnumerable    {        string[] m_Days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };        // 实现该方法之后,将能自动迭代        public IEnumerator GetEnumerator ()        {            for (int i = 0; i < m_Days.Length; i++) {                yield return m_Days [i];            }        }    }    class MainClass    {        public static void Main (string[] args)        {            // 创建类对象            DaysOfTheWeek week = new DaysOfTheWeek ();            foreach (string day in week) {                Console.Write (day + " ");            }        }    }}

转载地址:http://cbkii.baihongyu.com/

你可能感兴趣的文章
DirectX11 聚光灯
查看>>
DirectX11 HLSL打包(packing)格式和“pad”变量的必要性
查看>>
DirectX11 光照演示示例Demo
查看>>
漫谈一下前端的可视化技术
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Vue+webpack构建单页router应用(二)
查看>>
从头开始讲Node.js——异步与事件驱动
查看>>
Node.js-模块和包
查看>>
Node.js核心模块
查看>>
express的应用
查看>>
NodeJS开发指南——mongoDB、Session
查看>>
Express: Can’t set headers after they are sent.
查看>>
2017年,这一次我们不聊技术
查看>>
实现接口创建线程
查看>>
Java对象序列化与反序列化(1)
查看>>
心灵小品(1)
查看>>
HTML5的表单验证实例
查看>>
JavaScript入门笔记:全选功能的实现
查看>>
程序设计方法概述:从面相对象到面向功能到面向对象
查看>>
数据库事务
查看>>