c#中 Queue队列类 理解

 

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

          能对集合进行顺序处理(先进先出)。能接受null值,并且允许重复的元素。

 

构造函数: queue():   初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0)。

方法: Dequeue()  : 将对象添加到 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(); 
    } 
}


 

 

 

 
 
 
 

 

 

 

你可能感兴趣的:(asp.net)