zoukankan      html  css  js  c++  java
  • C#迭代器简单应用

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Collections.Generic;

    public partial class Default11 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            CityCollection2 c2 = new CityCollection2();
            foreach (string day in c2)
            {
                Response.Write(day + "<br>");
            }


            DaysOfWeek day2 = new DaysOfWeek();

            foreach (string day3 in day2)
            {
                Response.Write(day3 + "<br>");
            }

            Stact123<int> stact = new Stact123<int>();
            stact.items = new int[] { 9,1, 2, 3, 4, 5, 6, 7, 8, 11, 0 };

            foreach (int i in stact)
            {
                Response.Write(i + "<br>");
            }
        }
    }

    public class CityCollection2 : IEnumerable
    {
        string[] m_Cities = { "New York", "Paris", "London" };

        public IEnumerator GetEnumerator()
        {

            for (int i = 0; i < m_Cities.Length; i++)

                yield return m_Cities[i]; //yield return 产生枚举元素

        }

    }

    public class DaysOfWeek : IEnumerable
    {
        private string[] days = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday","Saturday" };

        public IEnumerator GetEnumerator()
        {
            for (int i = 0; i < days.Length; i++)
            {
                yield return days[i];
            }
        }
    }

    public class Stact123<T> : IEnumerable<T>
    {
        public T[] items;

        public IEnumerator<T> GetEnumerator()
        {
            for (int i=0; i < items.Length; i++)
            {
                if (Convert.ToInt32(items[i]) > 5)
                    yield break;
                yield return items[i];
            }
        }

        IEnumerator IEnumerable.GetEnumerator()
        {

            return GetEnumerator();

        }


    }

  • 相关阅读:
    第一篇:白话tornado源码之一个脚本引发的血案
    第二篇:白话tornado源码之待请求阶段
    Python 面向对象(初级篇)
    python 面向对象(进阶篇)
    Csharp启动exe文件
    UNIX时间戳
    JS日期格式化代码
    Android之什么是Activity和常用的ADB命令以及Android项目结构的认识
    thread同步测试
    Fluent NHibernate使用小结:(1)通用配置文件创建方法
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/638329.html
Copyright © 2011-2022 走看看