Dominando Queues em C#: Enqueue, Dequeue e Operações First-In-First-Out Explicadas
O que é uma Queue em C#?
Uma Queue implementa o princípio First-In-First-Out (FIFO), muito parecido com uma fila de pessoas esperando um ônibus. O primeiro elemento adicionado é o primeiro a ser processado ou removido.
Em C#, queues são definidas no namespace System.Collections e oferecem métodos como Enqueue e Dequeue que espelham o comportamento de filas do mundo real.
Declarando uma Queue
Instancie uma queue usando o tipo Queue e a palavra-chave new:
Queue qt = new Queue();
Adicionando Elementos (Enqueue)
Use Enqueue para anexar um item ao final da queue:
qt.Enqueue(1);
Removendo Elementos (Dequeue)
O método Dequeue remove e retorna o item no início da queue:
var primeiro = qt.Dequeue();
Propriedades e Métodos Úteis
- Count – retorna o número de itens atualmente armazenados.
int total = qt.Count;
- Contains – verifica se um valor específico existe na queue.
bool temTres = qt.Contains(3);
Exemplo Prático
A seguinte aplicação console demonstra criação de queue, iteração e uso de Count e Contains:
using System;
using System.Collections;
namespace DemoApplication {
class Program {
static void Main(string[] args) {
Queue qt = new Queue();
qt.Enqueue(1);
qt.Enqueue(2);
qt.Enqueue(3);
foreach (Object obj in qt) {
Console.WriteLine(obj);
}
Console.WriteLine();
Console.WriteLine("Total de itens: " + qt.Count);
Console.WriteLine("Contém 3? " + qt.Contains(3));
Console.ReadKey();
}
}
}
Saída:
Removendo o Primeiro Elemento
Chamar Dequeue remove o item enfileirado mais cedo. O snippet a seguir mostra o efeito:
qt.Dequeue();
foreach (Object obj in qt) {
Console.WriteLine(obj);
}
Resultado:
Resumo
Uma Queue em C# adere à semântica FIFO. Use Enqueue para adicionar itens, Dequeue para remover o item da frente, e propriedades como Count e métodos como Contains para inspecionar a queue.
Linguagem C
- Expressões, Instruções e Blocos em C#: Guia Completo com Exemplos Práticos
- Software de Manutenção Preventiva Explicado: Funcionalidades, Benefícios e Guia de Implementação
- Curva P-F Explicada: Dominando a Manutenção Centrada em Confiabilidade
- Manutenção Corretiva Explicada: Resposta Rápida e Controle de Custos
- Dominando o Método compareTo() do Java String: Sintaxe, Casos de Uso e Exemplos Práticos
- Explorando o 6G: O Futuro da Conectividade Ultra-Rápida
- Brasagem de Cobre Explicada: Técnicas e Dicas para Conexões Fortes e Confiáveis
- MQTT na Automação Industrial: Guia Prático para Fabricantes
- Microcontroladores PIC18: Características, Desempenho e Como Usá-los
- Entendendo Designadores de Referência: Como Rotular Conexões de Montagem de PCB