C#Queue<T>类用于元素入队和出队。它使用队列的概念,以FIFO(先进先出)的顺序排列元素。它可以有重复的元素。它位于System.Collections.Generic命名空间中。
C# Queue<T> example
让无涯教程看一个通用Queue<T>类的示例,该类使用Enqueue()方法存储元素,使用Dequeue()方法删除元素,并使用for-each循环迭代元素。
using System;
using System.Collections.Generic;
public class QueueExample
{
public static void Main(string[] args)
{
Queue names = new Queue();
names.Enqueue("Sonoo");
names.Enqueue("Peter");
names.Enqueue("James");
names.Enqueue("Ratan");
names.Enqueue("Irfan");
</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> name </span><span class="kwd">in</span><span class="pln"> names</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="pln">name</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"Peek element: "</span><span class="pun">+</span><span class="pln">names</span><span class="pun">.</span><span class="typ">Peek</span><span class="pun">());</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"Dequeue: "</span><span class="pun">+</span><span class="pln"> names</span><span class="pun">.</span><span class="typ">Dequeue</span><span class="pun">());</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"After Dequeue, Peek element: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> names</span><span class="pun">.</span><span class="typ">Peek</span><span class="pun">());</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
输出:
Sonoo Peter James Ratan Irfan Peek element: Sonoo Dequeue: Sonoo After Dequeue, Peek element: Peter