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

        }


    }

  • 相关阅读:
    创建类以及引用一个类
    修改hosts文件
    微信第三方登录接口开发
    Android定位
    Leetcode 102. Binary Tree Level Order Traversal
    Leetcode 725. Split Linked List in Parts
    Leetcode 445. Add Two Numbers II
    Leetcode 328. Odd Even Linked List
    Leetcode 237. Delete Node in a Linked List
    Leetcode 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/638329.html
Copyright © 2011-2022 走看看