O que são métodos de extensão LINQ e qual a sua necessidade?
sobes.tech IA
Resposta da IA
Os métodos de extensão LINQ são métodos estáticos em classes estáticas que permitem "estender" tipos existentes, adicionando-lhes funcionalidades sem alterar o seu código fonte. São utilizados para implementar os operadores padrão de consultas LINQ.
A necessidade de os usar reside em fornecer uma sintaxe unificada e consistente para consultas a diferentes fontes de dados (coleções em memória, bases de dados, XML, etc.). Isto torna o código mais legível, conciso e expressivo.
Exemplo de uso do método de extensão Where:
// Fonte de dados
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// Uso do método de extensão Where
IEnumerable<int> evenNumbers = numbers.Where(n => n % 2 == 0);
// Resultado da consulta
// evenNumbers contém: { 2, 4 }
Uma forma alternativa (menos legível) sem usar métodos de extensão LINQ:
List<int> evenNumbers = new List<int>();
foreach (int n in numbers)
{
if (n % 2 == 0)
{
evenNumbers.Add(n);
}
}
Os métodos de extensão LINQ permitem escrever consultas de forma mais declarativa, focando no que se deseja obter, e não em como obtê-lo.