quinta-feira, 7 de fevereiro de 2013

C# - LINQ Select

Bom, a pedido do Cristiano Carvalho, neste post e nos próximos estarei comentando sobre os métodos LINQ que considero mais importante.

Se tiverem alguma sugestão ou pedido de outros métodos, por favor.


LINQ Select()


Neste post falarei sobre o método Select do LINQ.
Como o próprio nome já diz, a função do método select é selecionar algo
Por exemplo:
Temos uma lista de usuários e queremos selecionar apenas os Ids desses usuários para trabalhar com uma estrutura mais simples e leve

Selecionar os ids dos usuários


Podemos também selecionar objetos anônimos
Por exemplo:
Temos de listar os usuários, mas aos invés de retornar os campos do objeto Usuario, queremos retornar outros campos. O detalhe é que o retorno desse select deve ser armazenado em uma variável do tipo object ou VAR (variáveis não tipadas):
Queremos retornar um novo objeto com:
Id: Igual ao do usuário
Descricao: NomeUsuario(EmailUsuario) - 'Ex: Felipe Almeida(felipe.silvalmeida@gmail.com)'

Select anônimo


Outra curiosidade que poucos conhecem, é a possibilidade de incluir o índice do objeto na lista, no método select, ou seja, agora temos algo do tipo:

usuarios.Select((usuario,indice) => new { IndiceNaLista = indice, NomeUsuario = usuario.Nome });

Select com índice



Abaixo disponibilizarei as classes utilizadas. O código-fonte pode ser obtido através do link(source) ou no git:
http://github.com/fsaalmeidinha/linq_select.git

LinqSelect.cs

Usuario.cs

Program.cs

2 comentários: