Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A filtragem refere-se à operação de restrição do conjunto de resultados para conter apenas os elementos que atendem a uma condição especificada. Ele também é chamado de seleção de elementos que correspondem à condição especificada.
Importante
Esses exemplos usam uma fonte de dados System.Collections.Generic.IEnumerable<T>. Fontes de dados baseadas em System.Linq.IQueryProvider usam as fontes de dados System.Linq.IQueryable<T> e as árvores de expressão. As árvores de expressão possuem limitações na sintaxe C# permitida. Além disso, todas as fontes de dados IQueryProvider, como EF Core, podem impor mais restrições. Verifique a documentação da fonte de dados.
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'.
Os métodos de operador de consulta padrão que executam a seleção sã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 |
| Onde | Seleciona valores baseados em uma função de predicado. | where |
Enumerable.Where Queryable.Where |
O exemplo a seguir usa a where cláusula para filtrar de uma matriz as cadeias de caracteres que têm um comprimento específico.
Observação
Você pode consultar as fontes de dados comuns para essa área no artigo Visão Geral dos Operadores de Consulta Padrão .
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
*/