O que é LINQ

Resumo : neste tutorial, você aprenderá o que é LINQ, como funciona e por que deve usá-lo.

Na programação, você costuma lidar com manipulação de dados. Seja projetando, classificando, filtrando ou agrupando dados, essas operações podem ser complexas e propensas a erros.

Além disso, os dados podem vir de diversas fontes, como arquivos XML, bancos de dados, API de terceiros, etc., o que torna a manipulação dos dados mais complexa. A razão é que você precisa estudar uma API específica para cada fonte de dados.

Felizmente, você pode usar uma ferramenta poderosa no .NET que pode facilitar a manipulação de dados: LINQ (Language Integrated Query).

Introdução ao LINQ

LINQ é um conjunto de extensões de linguagem em C# que permite manipular e analisar dados de maneira declarativa e concisa.

O LINQ permite escrever consultas em várias fontes de dados usando a sintaxe comum e o mesmo conjunto de operadores.

A sintaxe e os operadores do LINQ são como SQL (linguagem de consulta estruturada), mas o LINQ oferece uma abordagem mais segura e orientada a objetos para consultar e gerenciar dados.

O LINQ aproveita os seguintes recursos de linguagem em C#:

O LINQ permite escrever consultas de duas maneiras:

  • Sintaxe de consulta
  • Sintaxe do Método

A sintaxe de consulta usa uma sintaxe semelhante a SQL com palavras-chave como from, where, select, orderby, groupby enquanto a sintaxe do método usa um conjunto de métodos de extensão como Where(), Select(), OrderBy(), e GroupBy().

Exemplo de sintaxe de consulta

O exemplo a seguir mostra como usar LINQ para consultar números pares de uma lista de números usando a sintaxe de consulta:

using static System.Console;

var numbers = new List<int> { 1, 5, 2, 8, 9 };

var evenNumbers = from number in numbers
                  where number % 2 == 0
                  select number;

foreach (var number in evenNumbers)
{
    WriteLine(number);
}Linguagem de código:  C#  ( cs )

Como funciona.

Primeiro, defina uma lista de inteiros chamados números:

var numbers = new List<int> { 1, 5, 2, 8, 9 };Linguagem de código:  C#  ( cs )

Segundo, use a frompalavra-chave para definir uma variável de intervalo chamada numberque representa cada elemento da numberslista, a wherepalavra-chave para filtrar a variável de intervalo que seleciona apenas números pares e a selectpalavra-chave para projetar os números selecionados em uma nova sequência.

var evenNumbers = from number in numbers
                  where number % 2 == 0
                  select number;Linguagem de código:  C#  ( cs )

Terceiro, escreva todos os números pares selecionados no console usando um foreachloop:

foreach (var number in evenNumbers)
{
    WriteLine(number);
}Linguagem de código:  C#  ( cs )

Saída:

2
8Linguagem de código:  C#  ( cs )

Exemplo de sintaxe de método

O exemplo a seguir reescreve o programa acima, mas usa a sintaxe do método:

using static System.Console;

var numbers = new List<int> { 1, 5, 2, 8, 9 };

var evenNumbers = numbers
                    .Where(number => number % 2 == 0)
                    .Select(number => number);

foreach (var number in evenNumbers)
{
    WriteLine(number);
}Linguagem de código:  C#  ( cs )

Neste exemplo, o programa encadeia os métodos Where()e Select()para selecionar números pares na lista de números.

LINQ oferece um conjunto útil de operadores para consultar e manipular dados. A seguir estão os mais comuns:

  • Where()– filtrar uma sequência com base em uma condição.
  • Select()– projeta cada membro de uma sequência em uma nova forma.
  • OrderBy()/ OrderByDescending()– classifica a sequência em ordem crescente ou decrescente com base em uma chave de classificação.
  • GroupBy()– agrupar os elementos com base em uma chave.

Vantagens do LINQ

LINQ oferece os seguintes benefícios:

  • Expressividade: o LINQ permite escrever código declarativo e conciso para consulta de dados, facilitando a compreensão e a manutenção.
  • Segurança de tipo: as consultas LINQ são fortemente tipadas. Isso significa que o compilador detectará erros de tipo em tempo de compilação, o que reduz os erros que podem ser descobertos apenas em tempo de execução.
  • Integre objetos, dados relacionais e arquivos XML – você pode usar sintaxe de consulta unificada em fontes de dados.

Resumo

  • LINQ significa Consulta Integrada de Linguagem.
  • LINQ fornece uma API unificada para manipulação de dados em fontes de dados, incluindo objetos, bancos de dados relacionais e arquivos XML.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *