C# › Collections
How does Queue<T> differ from Stack<T> in terms of the order items are removed?
IntermediateAnswer
Queue<T> is First-In-First-Out (FIFO) — items are removed (Dequeue) in the same order they were added (Enqueue); Stack<T> is Last-In-First-Out (LIFO) — the most recently added item (Push) is the first one removed (Pop).
Queue<string> queue = new();
queue.Enqueue("first"); queue.Enqueue("second");
Console.WriteLine(queue.Dequeue()); // 'first'
Stack<string> stack = new();
stack.Push("first"); stack.Push("second");
Console.WriteLine(stack.Pop()); // 'second'Real-world example Using Queue<T> for a print job or task processing queue; Stack<T> for an undo/redo history or a depth-first traversal.