using System; using System.Collections.Generic; using System.Linq; namespace Queue測試 { class Program { static void Main(string[] args) { Queue<string> strList = new Queue<string>(); ///向隊列加入元素 strList.Enqueue("元素1"); strList.Enqueue("元素2"); strList.Enqueue("元素3"); ///遍歷元素 foreach (var item in strList) { Console.WriteLine(item); } ///隊長長度 Console.Write("隊列長度---"); Console.WriteLine(strList.Count); ////取出最先加進去的元素,並刪除,充分體現隊列的先進先出的特性 ///如隊列中無元素,則會引發異常 //string mes = strList.Dequeue(); //Console.WriteLine(mes); ///取出最先入隊的元素,但並不刪除 string mes = strList.Peek(); Console.Write("取出但不移除隊頭的元素----"); Console.WriteLine(mes); ///遍歷隊列,仍為三個元素 Console.WriteLine("隊列剩余元素為---"); foreach (var item in strList) { Console.WriteLine(item); } ///直接獲得隊列中的某個元素, ///如果索引越界,會引發異常 Console.Write("獲取隊列中的第2個元素----"); string s = strList.ElementAt(2); Console.WriteLine(s); ///直接獲得隊列中的某個元素, ///如果索引越界,則會返回null,但不引發異常 Console.Write("獲取隊列中的第5個元素-----"); Console.WriteLine( strList.ElementAtOrDefault(5)); Console.Write("獲取隊列中的第1個元素-----"); Console.WriteLine(strList.ElementAtOrDefault(1)); ///取出最先入隊的元素,但並不刪除 string pop = strList.Dequeue(); Console.Write("取出隊頭的元素----"); Console.WriteLine(mes); ///遍歷隊列,為2個元素 Console.WriteLine("隊列剩余元素為---"); foreach (var item in strList) { Console.WriteLine(item); } Console.ReadKey(); } } }
strList.clear();//用戶刪除所有對象,清空數據