Queue Collection Types
.NET Framework 4.5
The Queue, Queue, and ConcurrentQueue classes are first-in, first-out collection classes that implement the ICollection interface and the ICollection generic interface.
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 Queue 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 or ConcurrentStack if you need to access the collection from multiple threads concurrently.
Three main operations can be performed on a Queue and its elements: