Aprendendo sobre o LINQ [fechado]


189

Visão geral

Uma das coisas sobre as quais eu perguntei bastante neste site é o LINQ . As perguntas que fiz foram amplas e variadas e geralmente não têm muito contexto por trás delas. Portanto, na tentativa de consolidar o conhecimento adquirido no Linq, estou postando esta pergunta com o objetivo de mantê-la e atualizá-la com informações adicionais, enquanto continuo aprendendo sobre o LINQ.

Espero também que seja um recurso útil para outras pessoas que desejam aprender sobre o LINQ.

O que é o LINQ?

Do MSDN :

O Projeto LINQ é um nome de código para um conjunto de extensões do .NET Framework que abrangem operações de consulta, configuração e transformação integradas ao idioma. Ele estende C # e Visual Basic com sintaxe de idioma nativo para consultas e fornece bibliotecas de classes para aproveitar esses recursos.

O que isso significa é que o LINQ fornece uma maneira padrão de consultar uma variedade de fontes de dados usando uma sintaxe comum.

Quais são os sabores do LINQ?

Atualmente, existem alguns provedores LINQ diferentes fornecidos pela Microsoft:

Existem muitos outros, muitos dos quais estão listados aqui .

Quais são os benefícios?

  • Maneira padronizada de consultar várias fontes de dados
  • Compilar a segurança das consultas no tempo
  • Maneira otimizada de executar operações baseadas em conjunto em objetos de memória
  • Capacidade de depurar consultas

Então, o que posso fazer com o LINQ?

Chook fornece uma maneira de gerar arquivos CSV
Jeff mostra como remover duplicatas de uma matriz
Bob obtém uma lista ordenada distinta de uma tabela de dados
Marxidad mostra como classificar uma matriz
Dana recebe ajuda para implementar uma Classificação Rápida Usando Linq

Onde começar?

Um resumo dos links da pergunta do GateKiller está abaixo :
Scott Guthrie fornece uma introdução ao Linq em seu blog
Uma visão geral do LINQ no MSDN

ChrisAnnODell sugere verificar:

O que eu preciso para usar o LINQ?

Atualmente, o Linq está disponível no VB.Net 9.0 e C # 3.0, portanto você precisará do Visual Studio 2008 ou superior para obter todos os benefícios. (Você sempre pode escrever seu código no bloco de notas e compilar usando o MSBuild)

Há também uma ferramenta chamada LinqBridge, que permite executar consultas como o Linq no C # 2.0.

Dicas e truques usando o LINQ

Esta pergunta tem algumas maneiras complicadas de usar o LINQ


+1 para um ótimo post e a referência ao blog de ScottGu. É um ótimo recurso e onde eu aprendi o LINQ inicialmente.
Evan Plaice

Hooked On LINQ vai para algum site japonês. O google translate fala sobre rimming e outras coisas de bunda que são nsfw. : O SI não pode editá-lo por algum motivo, no entanto.
Shane

Respostas:



6

Mencione o LINQ to Entities, pois o ADO.NET Entity Framework será um importante módulo .NET.


4

Obtenha o livro Linq in Action , é uma leitura fácil para um livro de codificação e realmente ensina como usar o Linq e os novos recursos do .NET 3.5, algumas das partes interessantes que eles colocam no idioma.


4

Algumas dicas do LINQ:

  • Aplique filtros antes de uma junção para melhorar o desempenho da consulta
  • Filtrar consultas LINQ usando comparação de referência de objeto
  • Aplicar agregados a coleções vazias em consultas LINQ to SQL
  • Atraso no carregamento de uma propriedade no LINQ to SQL
  • Use funções com valor de tabela com o carregamento rápido ativado
  • Colocar junções na ordem correta em uma consulta LINQ to Objects
  • Redigir uma consulta LINQ dentro de um loop

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


4

IMHO, um benefício esquecido, mas importante, é a eficiência de codificação do LINQ, por exemplo, quanto pode ser alcançado com tão pouco código. Pessoalmente, acho a sintaxe da consulta fácil de ler e compreender.



3

Eu acho que a resposta para "Quais são os sabores do LINQ?" está incompleto. Primeiro de tudo, você pode criar seu próprio "sabor". Sim, é uma tarefa avançada, mas agora existem muitas implementações LINQ diferentes.

Aqui está a lista de provedores LINQ existentes (além de mais alguns recursos sobre como aprender LINQ) no blog de Charlie Calvert: Links para LINQ .

E também há uma excelente série de posts de Matt Warren sobre como criar seu próprio provedor LINQ: LINQ: construindo uma série de provedores IQueryable


2

Meus 2 centavos, Leia os capítulos "11 Expressões de consulta e LINQ to Objects" e "12 LINQ além de coleções" no livro "C # em profundidade" para entender como o LINQ funciona.


0

Para prática Linq

Se você deseja praticar no LINQ com exercícios e respostas, é muito fácil de configurar e, na minha opinião, impressionante:

https://github.com/walkhard/linq-exercises

Baixe do git, aberto no Visual Studio. Seu trabalho é fazer os testes passarem.

[divulgação: aprendi um pouco de linq com ele e contribuo com o projeto, então sim, acho que é uma maneira incrível, rápida e eficiente de aprender.]

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.