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();

        }


    }

  • 相关阅读:
    Gym102501G Swapping Places(拓扑排序)
    2019SWERC题解
    CF364D Ghd(随机化)
    CF500E New Year Domino(并查集+栈)
    CF280C Game on Tree(期望)
    CF1093G Multidimensional Queries(线段树)
    CF677D Vanya and Treasure(最短路)
    CF788C The Great Mixing(最短路)
    queryset高级用法:prefetch_related
    queryset高级用法:select_related
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/638329.html
Copyright © 2011-2022 走看看