LINQ - Usando ToDictionary() e ToList()


Hoje veremos a utilização dos métodos de extensão ToDictionary() e ToList() da LINQ.

Existem dois métodos de extensão LINQ simples que podem simplificar a tarefa de converter consultas de coleção em coleções. São os métodos ToDictionary() e ToList().

Se você é desenvolvedor .NET com certeza já conhece os recursos e vantagens da LINQ como linguagem de consulta para obter e filtrar dados de várias fontes de dados. Os operadores de consulta padrão são os métodos que formam o padrão da Language-Integrated Query (LINQ).

A maioria destes métodos operam em seqüências, onde uma seqüência é um objeto cujo tipo implementa a interface IEnumerable<T> ou a interface IQueryable<T>.

Neste artigo vamos focar nos métodos de extensão ToDictionary() e ToList() mas antes vamos recordar um conceito importante que é a deferred execution ou execução adiada.

Para saber mais sobre deferred execution leia o meu artigo:  LINQ - Entendendo Deferred Execution

LINQ - Deferred Execution e ToList()

Vamos iniciar criando um pequeno exemplo em um projeto Console onde vamos criar a classe Produto:

 

Concatenação

A operação de concatenação ocorre quando desejamos combinar mais de um elemento. Neste exemplo usamos a função Concat para combinar dois arrays.

Esta operação é um atalho à abordagem tradicional que utilizar um foreach ou outra instrução para iterar sobre os arrays e realizar o trabalho.

.Conversão

Para converter um tipo em outro podemos usar a função Cast. Neste exemplo mostramos como converter a partir de IEnumerable para List e Array usando Cast.

 
 

om esses exemplos você pode ter uma ideia do como usar os operadores padrão da LINQ combinado com algumas funções para turbinar o seu código.

Pegue o projeto completo aqui : Operadores_LINQ.zip

Disse-lhes, pois, Jesus: Quando levantardes o Filho do homem, então conhecereis que EU SOU, e que nada faço por mim mesmo; mas isto falo como meu Pai me ensinou.
João 8:28

Referências:


José Carlos Macoratti