Filtrando dados em C# com LINQ

A filtragem é a operação de restringir o conjunto de resultados de forma que ele contenha apenas os elementos correspondentes a uma condição especificada. Também é conhecido como seleção de elementos que correspondem à condição especificada.

A ilustração a seguir mostra os resultados da filtragem de uma sequência de caracteres. O predicado para a operação de filtragem especifica que o caractere deve ser "A".

Diagram that shows a LINQ filtering operation

Os métodos de operador de consulta padrão que realizam a seleção estão listados na tabela a seguir:

Nome do método Descrição Sintaxe de expressão de consulta C# Mais informações
OfType Seleciona valores, dependendo da capacidade de serem convertidos em um tipo especificado. Não aplicável. Enumerable.OfType

Queryable.OfType
Where Seleciona valores com base em uma função de predicado. where Enumerable.Where

Queryable.Where

O exemplo a seguir usa a cláusula where para filtrar em uma matriz as cadeias de caracteres com um tamanho específico.

string[] words = ["the", "quick", "brown", "fox", "jumps"];

IEnumerable<string> query = from word in words
                            where word.Length == 3
                            select word;

foreach (string str in query)
{
    Console.WriteLine(str);
}

/* This code produces the following output:

    the
    fox
*/

A consulta equivalente usando a sintaxe do método é mostrada no código a seguir:

string[] words = ["the", "quick", "brown", "fox", "jumps"];

IEnumerable<string> query =
    words.Where(word => word.Length == 3);

foreach (string str in query)
{
    Console.WriteLine(str);
}

/* This code produces the following output:

    the
    fox
*/

Confira também