浅析 c# Queue

一、Queue定义数组

System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另外一端移除。函数

 

二、优势ui

一、能对集合进行顺序处理(先进先出)。spa

二、能接受null值,而且容许重复的元素。code

 

三、 Queue的构造器对象

构造器函数blog

注释索引

Queue ()队列

初始化 Queue 类的新实例,该实例为空,具备默认初始容量(32)并使用默认增加因子(2.0)。ci

Queue (ICollection)

初始化 Queue 类的新实例,该实例包含从指定集合复制的元素,具备与所复制的元素数相同的初始容量并使用默认增加因子。

Queue (Int32)

初始化 Queue 类的新实例,该实例为空,具备指定的初始容量并使用默认增加因子。

Queue (Int32, Single)

初始化 Queue 类的新实例,该实例为空,具备指定的初始容量并使用指定的增加因子。

 

四、Queue的属性

属性名

注释

Count

获取 Queue 中包含的元素数。

 

5. Queue的方法

方法名

注释

Void Clear()

从 Queue 中移除全部对象。

Bool Contains(object obj)

肯定某元素是否在 Queue 中。

Object Clone()

建立 Queue 的浅表副本。

Void CopyTo(Array array,int index)

从指定数组索引开始将 Queue 元素复制到现有一维 Array 中。

Object Dequeue()

移除并返回位于 Queue 开始处的对象。

Void Enqueue(object obj)

将对象添加到 Queue 的结尾处。

Object Peek()

返回位于 Queue 开始处的对象但不将其移除。

Object[]ToArray()

将 Queue 元素复制到新数组。

Void TrimToSize()

将容量设置为 Queue 中元素的实际数目。

 

六、Queue的使用示例

class Program 
{ 
    static void Main(string[] args) 
    { 
        //建立一个队列 
        Queue myQ = new Queue(); 
        myQ.Enqueue("The");//入队 
        myQ.Enqueue("quick"); 
        myQ.Enqueue("brown"); 
        myQ.Enqueue("fox"); 
        myQ.Enqueue(null);//添加null 
        myQ.Enqueue("fox");//添加剧复的元素 
 
        // 打印队列的数量和值 
        Console.WriteLine("myQ"); 
        Console.WriteLine("\tCount:    {0}", myQ.Count); 
 
        // 打印队列中的全部值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        // 打印队列中的第一个元素,并移除 
        Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue()); 
 
        // 打印队列中的全部值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        // 打印队列中的第一个元素,并移除 
        Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue()); 
 
        // 打印队列中的全部值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        // 打印队列中的第一个元素 
        Console.WriteLine("(Peek)   \t{0}", myQ.Peek()); 
 
        // 打印队列中的全部值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        Console.ReadLine(); 
 
    } 
 
    public static void PrintValues(IEnumerable myCollection) 
    { 
        foreach (Object obj in myCollection) 
            Console.Write("    {0}", obj); 
        Console.WriteLine(); 
    } 

7.备注

一、Queue 的容量是 Queue 能够保存的元素数。Queue 的默认初始容量为 32。向 Queue 添加元素时,将经过从新分配来根据须要自动增大容量。可经过调用 TrimToSize 来减小容量。等比因子是当须要更大容量时当前容量要乘以的数字。在构造 Queue 时肯定增加因子。默认增加因子为 2.0。

二、Queue 能接受空引用做为有效值,而且容许重复的元素。

三、空引用能够做为值添加到 Queue。若要区分空值和 Queue 结尾,请检查 Count 属性或捕捉 Queue 为空时引起的 InvalidOperationException异常。

相关文章
相关标签/搜索