Desenvolvimento - C#

Descobrindo o LINQ to Objects

Esse artigo tem por objetivo mostrar de forma geral a execução de queries sobre lista de objetos utilizando o LINQ to Objects.

por Augusto César Barcelos Nunes Filho



Baixe o código-fonte.

Olá pessoal, o que me motivou a escrever este arquivo foi o fato de observar muitos projetos sendo iniciados utilizando as novas versões do Microsoft .NET framework, mas, mantendo técnicas de programação utilizadas nas versões mais antigas, ou seja, os novos recursos do framework não são aproveitados.

Dentre esses recursos que ainda julgo pouco aproveitados, exemplificarei aqui de forma objetiva e simples a utilização do “LINQ to Objects” (Language Integrated Query) que segundo definições da própria Microsoft (http://msdn.microsoft.com) consiste na execução de “queries” semelhantes às escritas em SQL (Structured Query Language) sobre coleções que implementam uma das interfaces IEnumerable ou IEnumerable<T>.

O Namespace utilizado nesse tipo de manipulação é o System.Linq que é importado por padrão em projetos criados utilizando o .Net Framework 3.5 no Microsoft Visual Studio 2008 ou versões posteriores. Esse tipo de abordagem propicia ao desenvolvedor um amplo controle sobre as listas (filtrar, agrupar, etc.) diminuindo a complexidade do código.

Criei o exemplo abaixo com o intuito de mostrar uma visão geral sobre o “LINQ to Objects” e despertar a curiosidade dos leitores que ainda desconhecem esse recurso, não me preocupando ainda em detalhar os métodos utilizados por ele (Os próximos artigos serão escritos com essa finalidade). No pequeno aplicativo abaixo existe uma lista do tipo “User” que é povoada com várias instâncias randômicas, a partir desse ponto, diversas “queries” serão escritas a fim de filtrar essa coleção e recuperar as instâncias de acordo com os critérios que eu estabeleci.

Figura 1 – A Coleção será criada com base nesse tipo.

Figura 2 –Consultas executadas sobre as listas


Figura 3 – Método para exibir as listas resultantes

Figura 4 – Método para exibir as listas resultantes (Sobrecarregado)

Figura 5 – Método responsável por popular a lista de usuários.

Espero ter alcançado o meu objetivo que era despertar no leitor o interesse em pesquisar os novos recursos do Microsoft .Net Framework. Nos próximos artigos abordarei o “LINQ to Objects” com um nível maior de detalhes.

Referência: http://msdn.microsoft.com/en-us/library/bb397919.aspx

Augusto César Barcelos Nunes Filho

Augusto César Barcelos Nunes Filho - Trabalha com desenvolvimento Web utilizando a plataforma .NET a cerca de cinco anos; Certificações: MCP, MCTS (Web e Distributed Applications) e MCPD; Graduando em Sistemas de Informação pela UVV (ES). Atua lecionando em cursos de extensão voltados para tecnologias Microsoft.