Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il filtro fa riferimento all'operazione di limitazione del set di risultati in modo da contenere solo gli elementi che soddisfano una condizione specificata. Viene anche definita selezione di elementi che corrispondono alla condizione specificata.
Importante
In questi esempi viene usata un'origine dati System.Collections.Generic.IEnumerable<T>. Le sorgenti di dati basate su System.Linq.IQueryProvider utilizzano sorgenti di dati System.Linq.IQueryable<T> e alberi di espressioni. La sintassi consentita in C# per gli alberi delle espressioni ha limitazioni. Inoltre, ogni origine dati IQueryProvider, ad esempio EF Core può imporre altre restrizioni. Consultare la documentazione relativa all'origine dati.
La figura seguente mostra i risultati del filtro di una sequenza di caratteri. Il predicato per l'operazione di filtro specifica che il carattere deve essere 'A'.
I metodi dell'operatore di query standard che eseguono la selezione sono elencati nella tabella seguente:
| Nome metodo | Descrizione | Sintassi di espressione della query C# | Altre informazioni |
|---|---|---|---|
| OfType | Seleziona i valori in base alla loro possibilità di essere convertiti a un tipo specificato. | Non applicabile. | Enumerable.OfType Queryable.OfType |
| Dove | Seleziona i valori basati su una funzione predicato. | where |
Enumerable.Where Queryable.Where |
Nell'esempio seguente viene usata la where clausola per filtrare da una matrice le stringhe con lunghezza specifica.
Annotazioni
È possibile fare riferimento alle origini dati comuni per questa area nell'articolo Panoramica degli operatori di query standard .
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
*/
La query equivalente tramite la sintassi del metodo è illustrata nel codice seguente:
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
*/