Iterators

Os iterators ou iteradores foram introduzidos no C# 2.0 (Visual Studio 2005) e agora, com o Visual Studio 2011 (Developer Preview), está também disponível no Visual Basic.

Para quem ainda não tem o Visual Studio 2011 Developer Preview, pode descarregá-lo aqui.

Basicamente um Iterator é um método que realiza uma iteração sobre uma colecção, utilizando o Yield para retornar os elementos da colecção um-a-um. Os Iterators utilizam um mecanismo assíncrono que consegue retornar os itens logo que estejam disponíveis sem ter de esperar que a colecção esteja completamente construída.

Quando estamos a falar de uma colecção grande pode trazer vantagens significativas, quer em tempo, quer em recursos, uma vez que o tempo de espera diminui e também porque o seu mecanismo pode evitar a alocação em memória que seria utilizada caso a colecção estivesse completamente carregada. São a base da programação genérica. Para obter a informação basta utiliza uma simples instrução For Each Next directamente numa instância de um objecto que utilize Iterators ou então numa função ou propriedade.

[...]

Leia o artigo completo na edição 33 da Revista PROGRAMAR