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:
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:
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:
Vamos executar o código para ver o comando Peek em ação:
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:
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:
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:
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:
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:
Imprimindo a lista após o comando Clear(), teremos:
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!