(200-07-07) C#.NET 集合(Collections) --(無順序性:更选器)

摘要:(200-07-07) C#.NET 集合(Collections) --(無順序性:更选器)

沒有順序性csmod04.rar

更选 Ienumerator

         IEnumable    <=== GetEnumerator()

程式

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//沒有順序性 採用更迭 一個問過一個
namespace csmod04
{
    class TestEnumable
    {
        public static void Main()
        {
            //建立Queue(佇列)-Message Queue
            Queue<String> names = new Queue<String>();
            //參考字串
            names.Enqueue("1.eric");
            names.Enqueue("2.linda");
            names.Enqueue("3.bill");
            names.Enqueue("4.sam");
            names.Enqueue("5.richard");
            names.Enqueue("6.barry");

            //逐一參考
            foreach (String s in names)
            {
                System.Console.WriteLine(s);
            }
            ////次數迴圈
            //for (Int32 i = 0; i < names.Count; i++)
            //{
            //    names[] 沒有索引子
            //}

            //更迭(取出更迭器)-介面多型化
            IEnumerator<String> er = names.GetEnumerator();
            System.Console.WriteLine("類別:"+er.GetType().ToString());
            while (er.MoveNext())
            {
                // 相對那一個
                String name = er.Current;
                System.Console.WriteLine(name);
            }

            //取出第一個(FIFO)
            String curname = names.Dequeue();
            System.Console.WriteLine("第一個人:" + curname);
            //剩餘
            System.Console.WriteLine(names.Count);
        }

    }
}