Minicursos - C#

Filas


Agora vou falar de mais um recurso interessante e importante do C#. Trata-se das filas. Para entendê-las é muito simples. Basta que imaginemos uma fila de banco. Quando chegamos, entramos no final dela e esperamos até que todos que chegaram primeiro sejam atendidos, correto? O primeiro a chegar é o primeiro a sair. Em C# o princípio é o mesmo e podemos facilmente criar uma estrutura para armazenamento de informações que obedeça esta regra. Isto é possível através do comando Queue. Vejam:

Filas - C#

Como ficou claro no código acima, criei uma lista com cinco elementos e um foreach para imprimi-la. Vejamos a saída no Console:

Filas - C#

Até aqui tudo se parece com uma lista comum, mas as diferenças começam agora. Caso queiramos visualizar o primeiro elemento da fila, podemos utilizar o comando Peek, da seguinte forma:

Filas - C#

Vamos executar o código para ver o comando Peek em ação:

Filas - C#

Muito bem, o código nos retornou o primeiro cliente da fila, que é o primeiro que foi adicionado, ou seja, o primeiro que chegou.

Removendo um elemento da fila

Para removermos um elemento de uma fila, devemos fazer uso do comando Dequeue, conforme ilustra a imagem abaixo:

Filas - C#

Notem que neste código eu chamo duas vezes o método Peek(). Uma delas acontece antes do Dequeue() e outra depois. Vejam a diferença no Console:

Filas - C#

Inicialmente a nossa fila tinha como primeiro elemento a string “Primeiro Cliente”, mas depois do método Dequeue() ser chamado passou a ser a string “Segundo Cliente”. O primeiro elemento foi removido, ou seja, desinfileirado pelo Dequeue e o segundo passou a ocupar seu lugar, ou seja, a ser o primeiro elemento da fila.

Contando os elementos de uma fila

Outro método importante é o Count, que nos permite contar quantos elementos existem em uma fila. Sua sintaxe é bastante simples, vejam:

Filas - C#

Basta definirmos uma variável do tipo int para receber o retorno do método. Vamos ver o valor dessa variável ‘contador’ no Console:

Filas - C#

Nossa fila possui 5 elementos.

Removendo todos os itens de uma fila

Para limparmos por completo uma fila, removendo todos os seus elementos, o comando a ser utilizado é o Clear(). Vejam o exemplo abaixo:

Filas - C#

Imprimindo a lista após o comando Clear(), teremos:

Filas - C#

Vejam que nada foi impresso, pois nossa fila ficou sem qualquer elemento após o Clear().

Essas foram as principais funções que separei para comentar sobre este importante conceito. Ele tem inúmeras possibilidades de uso, mas se você pretende trabalhar com o desenvolvimento de jogos, acredite, vai usa-lo exaustivamente!



Algumas notícias

Google Chrome consumirá menos memória RAM em breve

O navegador da gigante de buscas da Internet é, sem dúvida, um dos melhores disponíveis, mas é inegável que o consumo de memória RAM por parte dele é exagerado. Este problema já se estende por anos, mas parece que em breve ele terá uma solução. Um novo recurso do Windows 10, chamado SegmentHeap...

Ler Notícia Completa

Sites e vídeos sem propagandas? Sim, é possível através da exploração de uma falha!

Seguramente você já se deparou com sites que bloqueiam o conteúdo da página e te obrigam a assinar determinado serviço para ler o conteúdo, certo? Ou foi tentar assistir aquele vídeo e as propagandas em tela cheia não pararam de surgir. Bem, todos já nos deparamos com isso, no entanto, um bug de...

Ler Notícia Completa

Inteligência Artificial cria antibiótico super potente

Pesquisadores do MIT (EUA) identificaram um novo e poderoso composto antibiótico usando um algoritmo de aprendizado de máquina, uma técnica de inteligência artificial. Em testes de laboratório, a droga matou algumas das bactérias causadoras de doenças mais problemáticas do mundo, incluindo algu...

Ler Notícia Completa

Google lança programa para capacitar profissionais brasileiros e com direito a bolsas

O Google iniciou nesta terça-feira (17) o Certificado Profissional de Suporte em TI para brasileiros. Trata-se de um curso desenvolvido pela gigante de tecnologia em parceria com a Coursera. Inicialmente, o módulo de ensino foi anunciado a um valor de US$ 39 por mês. Entretanto, sofreu uma redu...

Ler Notícia Completa
Você gostará destes vídeos!