Represents a first-in, first-out collection of objects.
Assembly: mscorlib (in mscorlib.dll)
Thetype exposes the following members.
|Queue()||Initializes a new instance of the class that is empty, has the default initial capacity, and uses the default growth factor.|
|Queue(ICollection)||Initializes a new instance of the class that contains elements copied from the specified collection, has the same initial capacity as the number of elements copied, and uses the default growth factor.|
|Queue(Int32)||Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the default growth factor.|
|Queue(Int32, Single)||Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the specified growth factor.|
|Clear||Removes all objects from the .|
|Clone||Creates a shallow copy of the .|
|Contains||Determines whether an element is in the .|
|CopyTo||Copies the elements to an existing one-dimensional Array, starting at the specified array index.|
|Dequeue||Removes and returns the object at the beginning of the .|
|Enqueue||Adds an object to the end of the .|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetEnumerator||Returns an enumerator that iterates through the .|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|Peek||Returns the object at the beginning of the without removing it.|
|Synchronized||Returns a new that wraps the original queue, and is thread safe.|
|ToArray||Copies the elements to a new array.|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
|TrimToSize||Sets the capacity to the actual number of elements in the .|
|AsParallel||Enables parallelization of a query. (Defined by ParallelEnumerable.)|
|AsQueryable||Converts an IEnumerable to an IQueryable. (Defined by Queryable.)|
|Cast(TResult)||Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)|
|OfType(TResult)||Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)|
This class implements a queue as a circular array. Objects stored in a are inserted at one end and removed from the other.
Queues and stacks are useful when you need temporary storage for information; that is, when you might want to discard an element after retrieving its value. Use if you need to access the information in the same order that it is stored in the collection. Use Stack if you need to access the information in reverse order. Use ConcurrentQueue(T) or ConcurrentStack(T) if you need to access the collection from multiple threads concurrently.
Three main operations can be performed on a and its elements:
Enqueue adds an element to the end of the .
Dequeue removes the oldest element from the start of the .
Peek returns the oldest element that is at the start of the but does not remove it from the .
The capacity of a is the number of elements the can hold. As elements are added to a , the capacity is automatically increased as required through reallocation. The capacity can be decreased by calling TrimToSize.
The growth factor is the number by which the current capacity is multiplied when a greater capacity is required. The growth factor is determined when the is constructed. The default growth factor is 2.0. The capacity of the will always increase by at least a minimum of four, regardless of the growth factor. For example, a with a growth factor of 1.0 will always increase in capacity by four when a greater capacity is required.
accepts a null reference (Nothing in Visual Basic) as a valid value and allows duplicate elements.
For the generic version of this collection, see System.Collections.Generic.Queue(T)
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
To guarantee the thread safety of the , all operations must be done through the wrapper returned by the Synchronized method.
Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.