C# Queue类

队列表示一个先进先出的对象集合。当需要先进先出的容器访问时可使用队列(Queue)。当在列表中添加项目时,将称为入队,当删除项目时,它被称为出队。

Queue类的方法和属性

下表列出了Queue类的一些常用属性:

属性 说明
Count 获取队列中包含的元素数量。

下表列出了Queue类的一些常用方法:

序号 方法 描述
1 public virtual void Clear(); 清空队列,即从Queue中删除所有元素。
2 public virtual bool Contains(object obj); 确定元素是否在队列中
3 public virtual object Dequeue(); 删除并返回队列开头的对象。
4 public virtual void Enqueue(object obj); 将对象添加到队列的末尾。
5 public virtual object[] ToArray(); 将队列复制到新数组。
6 public virtual void TrimToSize(); 将容量设置为队列中实际的元素数量。

例子

以下示例演示了Stack的用法:

using System;
using System.Collections;

namespace CollectionsApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Queue q = new Queue();

            q.Enqueue('Y');
            q.Enqueue('I');
            q.Enqueue('I');
            q.Enqueue('B');
            q.Enqueue('A');
            q.Enqueue('I');

            Console.WriteLine("Current queue: ");
            foreach (char c in q) Console.Write(c + " ");

            Console.WriteLine();
            q.Enqueue('.');
            q.Enqueue('C');
            q.Enqueue('O');
            q.Enqueue('M');
            Console.WriteLine("Current queue: ");
            foreach (char c in q) Console.Write(c + " ");

            Console.WriteLine();
            Console.WriteLine("Removing some values ");
            char ch = (char)q.Dequeue();
            Console.WriteLine("The removed value: {0}", ch);
            ch = (char)q.Dequeue();
            Console.WriteLine("The removed value: {0}", ch);

            Console.ReadKey();
        }
    }
}

当上述代码被编译并执行时,它产生以下结果:

Current queue:
Y I I B A I
Current queue:
Y I I B A I . C O M
Removing some values
The removed value: Y
The removed value: I

上一篇: C#集合 下一篇: C#泛型