摘要:(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);
}
}
}