LINQ - Operatori di query

Un set di metodi di estensione che formano un modello di query è noto come operatori di query standard LINQ. Come elementi costitutivi delle espressioni di query LINQ, questi operatori offrono una gamma di funzionalità di query come filtro, ordinamento, proiezione, aggregazione e così via.

Gli operatori di query standard LINQ possono essere classificati nei seguenti in base alla loro funzionalità.

  • Operatori di filtraggio
  • Unisciti agli operatori
  • Operazioni di proiezione
  • Operatori di ordinamento
  • Operatori di raggruppamento
  • Conversions
  • Concatenation
  • Aggregation
  • Operazioni quantificatrici
  • Operazioni di partizione
  • Operazioni di generazione
  • Imposta operazioni
  • Equality
  • Operatori elemento

Operatori di filtraggio

Il filtraggio è un'operazione per limitare il set di risultati in modo che abbia solo elementi selezionati che soddisfano una particolare condizione.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
dove Filtra i valori in base a una funzione predicato dove Dove
OfType Filtra i valori in base alla loro capacità di essere un tipo specificato Non applicabile Non applicabile

Unisciti agli operatori

L'unione si riferisce a un'operazione in cui vengono prese di mira fonti di dati con relazioni difficili da seguire tra loro in modo diretto.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Aderire L'operatore unisce due sequenze sulla base delle chiavi corrispondenti partecipare ... a ... su ... uguale ... Da x In ..., y In ... Dove xa = ya
GroupJoin Unisci due sequenze e raggruppa gli elementi corrispondenti aderire ... a ... su ... uguale ... a ... Partecipa al gruppo ... In ... On ...

Operazioni di proiezione

La proiezione è un'operazione in cui un oggetto viene trasformato in una forma completamente nuova con solo proprietà specifiche.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Selezionare L'operatore proietta i valori sulla base di una funzione di trasformazione Selezionare Selezionare
Seleziona Molti L'operatore proietta le sequenze di valori che si basano su una funzione di trasformazione e le appiattisce in una singola sequenza Usa più clausole from Utilizza più clausole From

Operatori di ordinamento

Un'operazione di ordinamento consente di ordinare gli elementi di una sequenza sulla base di uno o più attributi.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Ordinato da L'operatore ordina i valori in ordine crescente ordinato da Ordinato da
OrderByDescending L'operatore ordina i valori in ordine decrescente orderby ... discendente Ordina per ... decrescente
Allora per Esegue un ordinamento secondario in ordine crescente ordinato da …, … Ordinato da …, …
ThenByDescending Esegue un ordinamento secondario in ordine decrescente orderby ..., ... discendente Ordina per ..., ... decrescente
Inversione Esegue un'inversione dell'ordine degli elementi in una raccolta Non applicabile Non applicabile

Operatori di raggruppamento

Gli operatori inseriscono i dati in alcuni gruppi in base a un attributo condiviso comune.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Raggruppa per Organizza una sequenza di elementi in gruppi e restituiscili come una raccolta IEnumerable di tipo IGrouping <chiave, elemento> gruppo ... per -o- gruppo ... per ... in ... Group ... By ... Into ...
ToLookup Eseguire un'operazione di raggruppamento in cui viene restituita una sequenza di coppie di chiavi Non applicabile Non applicabile

Conversioni

Gli operatori cambiano il tipo di oggetti di input e vengono utilizzati in una vasta gamma di applicazioni.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
AsEnumerable Restituisce l'input digitato come IEnumerable <T> Non applicabile Non applicabile
AsQueryable Un IEnumerable (generico) viene convertito in un IQueryable (generico) Non applicabile Non applicabile
Cast Esegue il casting degli elementi di una raccolta in un tipo specificato Utilizza una variabile di intervallo tipizzata in modo esplicito. Ad esempio: dalla stringa str in parole Da ... As ...
OfType Filtra i valori in base al loro, a seconda della loro capacità di essere convertiti in un particolare tipo Non applicabile Non applicabile
ToArray Forza l'esecuzione della query e converte una raccolta in un array Non applicabile Non applicabile
ToDictionary Sulla base di una funzione di selezione della chiave imposta gli elementi in un Dictionary <TKey, TValue> e forza l'esecuzione di una query LINQ Non applicabile Non applicabile
Elencare Forza l'esecuzione di una query convertendo una raccolta in un List <T> Non applicabile Non applicabile
ToLookup Forza l'esecuzione di una query e inserisce elementi in una ricerca <TKey, TElement> sulla base di una funzione di selettore chiave Non applicabile Non applicabile

Concatenazione

Esegue la concatenazione di due sequenze ed è abbastanza simile all'operatore dell'Unione in termini di funzionamento, tranne per il fatto che questo non rimuove i duplicati.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Concat Due sequenze vengono concatenate per la formazione di un'unica sequenza. Non applicabile Non applicabile

Aggregazione

Esegue qualsiasi tipo di aggregazione desiderata e consente di creare aggregazioni personalizzate in LINQ.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Aggregato Opera sui valori di una raccolta per eseguire un'operazione di aggregazione personalizzata Non applicabile Non applicabile
Media Viene calcolato il valore medio di una raccolta di valori Non applicabile Aggregato ... In ... Into Average ()
Contare Conta gli elementi che soddisfano una funzione predicato all'interno della raccolta Non applicabile Aggrega ... In ... Into Count ()
LonCount Conta gli elementi che soddisfano una funzione predicativa all'interno di una vasta raccolta Non applicabile Aggrega ... In ... Into LongCount ()
Max Scopri il valore massimo all'interno di una collezione Non applicabile Aggrega ... In ... Into Max ()
Min Scopri il valore minimo esistente all'interno di una collezione Non applicabile Aggrega ... In ... In Min ()
Somma Scopri la somma di valori all'interno di una raccolta Non applicabile Aggrega ... In ... Into Sum ()

Operazioni quantificatrici

Questi operatori restituiscono un valore booleano, ovvero Vero o Falso, quando alcuni o tutti gli elementi all'interno di una sequenza soddisfano una condizione specifica.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Tutti Restituisce un valore "True" se tutti gli elementi di una sequenza soddisfano una condizione del predicato Non applicabile Aggrega ... In ... Into All (...)
Qualunque Determina mediante la ricerca di una sequenza se qualsiasi elemento della stessa soddisfa una condizione specificata Non applicabile Aggrega ... In ... In qualsiasi ()
Contiene Restituisce un valore "Vero" se rileva che un elemento specifico è presente in una sequenza se la sequenza non contiene quell'elemento specifico, viene restituito il valore "falso" Non applicabile Non applicabile

Operatori di partizione

Dividi una sequenza di input in due sezioni separate senza riorganizzare gli elementi della sequenza e quindi restituirne uno.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Salta Salta un numero specificato di elementi all'interno di una sequenza e restituisce quelli rimanenti Non applicabile Salta
SkipWhile Uguale a quello di Skip con la sola eccezione che il numero di elementi da saltare è specificato da una condizione booleana Non applicabile Salta mentre
Prendere Prendi un numero specificato di elementi da una sequenza e salta quelli rimanenti Non applicabile Prendere
TakeWhile Uguale a quello di Take tranne per il fatto che il numero di elementi da prendere è specificato da una condizione booleana Non applicabile Prendi tempo

Operazioni di generazione

Una nuova sequenza di valori viene creata dagli operatori generazionali.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
DefaultIfEmpty Quando applicato a una sequenza vuota, genera un elemento predefinito all'interno di una sequenza Non applicabile Non applicabile
Vuoto Restituisce una sequenza di valori vuota ed è l'operatore generazionale più semplice Non applicabile Non applicabile
Gamma Genera una raccolta con una sequenza di numeri interi o numeri Non applicabile Non applicabile
Ripetere Genera una sequenza contenente valori ripetuti di una lunghezza specifica Non applicabile Non applicabile

Imposta operazioni

Sono disponibili quattro operatori per le operazioni impostate, ciascuno dei quali produce un risultato basato su criteri diversi.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Distinto Ottiene un elenco di valori univoci da una raccolta filtrando i dati duplicati, se presenti Non applicabile Distinto
Tranne Confronta i valori di due raccolte e restituisce quelli di una raccolta che non si trovano nell'altra Non applicabile Non applicabile
Interseca Restituisce l'insieme di valori trovati identici in due raccolte separate Non applicabile Non applicabile
Unione Combina il contenuto di due diverse raccolte in un unico elenco anche questo senza alcun contenuto duplicato Non applicabile Non applicabile

Uguaglianza

Confronta due frasi (enumerabili) e determina se sono una corrispondenza esatta o meno.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
SequenceEqual Restituisce un valore booleano se due sequenze sono identiche l'una all'altra Non applicabile Non applicabile

Operatori elemento

Ad eccezione di DefaultIfEmpty, tutti gli altri otto operatori di elementi di query standard restituiscono un singolo elemento da una raccolta.

Mostra esempi

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
ElementAt Restituisce un elemento presente all'interno di un indice specifico in una raccolta Non applicabile Non applicabile
ElementAtOrDefault Uguale a ElementAt tranne per il fatto che restituisce anche un valore predefinito nel caso in cui l'indice specifico sia fuori intervallo Non applicabile Non applicabile
Primo Recupera il primo elemento all'interno di una raccolta o il primo elemento che soddisfa una condizione specifica Non applicabile Non applicabile
FirstOrDefault Uguale a First tranne per il fatto che restituisce anche un valore predefinito nel caso in cui non esistano tali elementi Non applicabile Non applicabile
Scorso Recupera l'ultimo elemento presente in una raccolta o l'ultimo elemento che soddisfa una condizione specifica Non applicabile Non applicabile
LastOrDefault Uguale a Last tranne per il fatto che restituisce anche un valore predefinito nel caso in cui non esista alcun elemento di questo tipo Non applicabile Non applicabile
Single Restituisce l'elemento solitario di una raccolta o l'elemento solitario che soddisfa una determinata condizione Non applicabile Non applicabile
SingleOrDefault Uguale a Single tranne per il fatto che restituisce un valore predefinito se non esiste alcun elemento solitario di questo tipo Non applicabile Non applicabile
DefaultIfEmpty Restituisce un valore predefinito se la raccolta o l'elenco è vuoto o nullo Non applicabile Non applicabile