O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

Queue

Synopsis

This class describes a collection manipulated on a first-in, first-out basis. The newest elements are added to one end with the Enqueue() method, and the oldest are taken off the other end with Dequeue(). A Queue can be constructed as an empty collection or with the elements of an existing collection. The initial capacity can also be specified, although the default for an empty queue is 32. Normally, a Queue automatically increases its capacity when new elements exceed the current capacity, using a default growth factor of 2.0. (The growth factor is multiplied by the current capacity to determine the new capacity.) You may specify your own growth factor when you specify an initial capacity for the Queue.

The Dequeue() method returns the element at the beginning of the Queue, and simultaneously removes it. You can get the first element without removal by using Peek(). The contents of a Queue can be copied to an existing Array object using the CopyTo() method. ToArray() creates a new Array object with the contents of the Queue.

The Queue is not threadsafe. The Synchronize() method provides a wrapper for thread safety.

public class Queue : ICollection, IEnumerable, ICloneable {
// Public Constructors
   public method Queue();  
   public method Queue(ICollection col);  
   public method Queue(int capacity);  
   public method Queue(int capacity, float growFactor);  
// Public Instance Properties
   public virtual field int Count{get; }                         // implements ICollection public virtual field bool ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required