LINQ - Opérateurs de requête

Un ensemble de méthodes d'extension formant un modèle de requête est connu sous le nom d'opérateurs de requête standard LINQ. En tant que blocs de construction des expressions de requête LINQ, ces opérateurs offrent une gamme de fonctionnalités de requête telles que le filtrage, le tri, la projection, l'agrégation, etc.

Les opérateurs de requête standard LINQ peuvent être classés dans les suivants en fonction de leurs fonctionnalités.

  • Opérateurs de filtrage
  • Rejoignez les opérateurs
  • Opérations de projection
  • Opérateurs de tri
  • Opérateurs de regroupement
  • Conversions
  • Concatenation
  • Aggregation
  • Opérations de quantificateur
  • Opérations de partition
  • Opérations de génération
  • Définir les opérations
  • Equality
  • Opérateurs d'élément

Opérateurs de filtrage

Le filtrage est une opération visant à restreindre l'ensemble de résultats de telle sorte qu'il ne contienne que des éléments sélectionnés satisfaisant à une condition particulière.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Filtrer les valeurs en fonction d'une fonction de prédicat
OfType Filtrer les valeurs en fonction de leur capacité à être comme un type spécifié N'est pas applicable N'est pas applicable

Rejoignez les opérateurs

La jointure fait référence à une opération dans laquelle des sources de données avec des relations difficiles à suivre les unes avec les autres de manière directe sont ciblées.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Joindre L'opérateur joint deux séquences sur la base de clés correspondantes rejoindre… dans… sur… égal… De x dans…, y dans… où xa = ya
Rejoindre un groupe Joindre deux séquences et regrouper les éléments correspondants rejoindre… dans… sur… égal… dans… Rejoindre le groupe… Dans… Le…

Opérations de projection

La projection est une opération dans laquelle un objet est transformé en une forme totalement nouvelle avec seulement des propriétés spécifiques.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Sélectionner L'opérateur projette des valeurs sur la base d'une fonction de transformation sélectionner Sélectionner
SélectionnezBeaucoup L'opérateur projette les séquences de valeurs basées sur une fonction de transformation et les aplatit en une seule séquence Utiliser plusieurs clauses from Utiliser plusieurs clauses From

Opérateurs de tri

Une opération de tri permet d'ordonner les éléments d'une séquence sur la base d'un ou plusieurs attributs.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Commandé par L'opérateur trie les valeurs dans un ordre croissant commandé par Commandé par
OrderByDescending L'opérateur trie les valeurs dans un ordre décroissant ordre par ... décroissant Trier par ... décroissant
Puis par Exécute un tri secondaire dans un ordre croissant commandé par …, … Commandé par …, …
ThenByDescendant Exécute un tri secondaire dans un ordre décroissant orderby…,… décroissant Trier par…,… Décroissant
Inverser Effectue une inversion de l'ordre des éléments dans une collection N'est pas applicable N'est pas applicable

Opérateurs de regroupement

Les opérateurs placent les données dans certains groupes en fonction d'un attribut partagé commun.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Par groupe Organisez une séquence d'éléments en groupes et retournez-les sous la forme d'une collection IEnumerable de type IGrouping <key, element> grouper… par -ou- grouper… par… en… Regrouper… par… en…
Pour rechercher Exécuter une opération de regroupement dans laquelle une séquence de paires de clés est renvoyée N'est pas applicable N'est pas applicable

Les conversions

Les opérateurs changent le type d'objets d'entrée et sont utilisés dans une large gamme d'applications.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
AsEnumerable Renvoie l'entrée tapée comme IEnumerable <T> N'est pas applicable N'est pas applicable
AsQueryable Un IEnumerable (générique) est converti en un IQueryable (générique) N'est pas applicable N'est pas applicable
Jeter Effectue le cast des éléments d'une collection vers un type spécifié Utilisez une variable de plage explicitement typée. Ex: à partir de la chaîne str dans les mots De… En tant que…
OfType Filtre les valeurs en fonction de leur, en fonction de leur capacité à être transtypées en un type particulier N'est pas applicable N'est pas applicable
ToArray Force l'exécution de la requête et effectue la conversion d'une collection en tableau N'est pas applicable N'est pas applicable
ToDictionary Sur la base d'une fonction de sélection de clé, définissez les éléments dans un Dictionary <TKey, TValue> et force l'exécution d'une requête LINQ N'est pas applicable N'est pas applicable
Lister Force l'exécution d'une requête en convertissant une collection en List <T> N'est pas applicable N'est pas applicable
Pour rechercher Force l'exécution d'une requête et place des éléments dans un Lookup <TKey, TElement> sur la base d'une fonction de sélection de clé N'est pas applicable N'est pas applicable

Enchaînement

Effectue la concaténation de deux séquences et est assez similaire à l'opérateur de l'Union en termes de son fonctionnement, sauf que cela ne supprime pas les doublons.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Concat Deux séquences sont concaténées pour la formation d'une seule séquence. N'est pas applicable N'est pas applicable

Agrégation

Effectue tout type d'agrégation souhaitée et permet de créer des agrégations personnalisées dans LINQ.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Agrégat Fonctionne sur les valeurs d'une collection pour effectuer une opération d'agrégation personnalisée N'est pas applicable N'est pas applicable
Moyenne La valeur moyenne d'une collection de valeurs est calculée N'est pas applicable Agréger… en… en moyenne ()
Compter Compte les éléments satisfaisant une fonction de prédicat dans la collection N'est pas applicable Agréger… dans… en nombre ()
LonCount Compte les éléments satisfaisant une fonction de prédicat dans une vaste collection N'est pas applicable Agréger… dans… dans LongCount ()
Max Découvrez la valeur maximale d'une collection N'est pas applicable Agréger… In… Into Max ()
Min Découvrez la valeur minimale existante dans une collection N'est pas applicable Agréger… dans… en min ()
Somme Découvrez la somme des valeurs d'une collection N'est pas applicable Agréger… dans… en somme ()

Opérations de quantificateur

Ces opérateurs renvoient une valeur booléenne, c'est-à-dire True ou False lorsque certains ou tous les éléments d'une séquence satisfont à une condition spécifique.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Tout Renvoie une valeur 'True' si tous les éléments d'une séquence satisfont à une condition de prédicat N'est pas applicable Agréger… dans… dans tout (…)
Tout Détermine en recherchant une séquence que si un élément de la même chose satisfait une condition spécifiée N'est pas applicable Agréger… dans… en n'importe quel ()
Contient Renvoie une valeur 'True' si trouve qu'un élément spécifique est présent dans une séquence si la séquence ne contient pas cet élément spécifique, la valeur 'false' est renvoyée N'est pas applicable N'est pas applicable

Opérateurs de partition

Divisez une séquence d'entrée en deux sections distinctes sans réorganiser les éléments de la séquence, puis en renvoyer l'une d'entre elles.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Sauter Ignore un nombre spécifié d'éléments dans une séquence et renvoie les autres N'est pas applicable Sauter
SkipWhile Identique à celui de Skip à la seule exception que le nombre d'éléments à ignorer est spécifié par une condition booléenne N'est pas applicable Passer pendant
Prendre Prenez un nombre spécifié d'éléments dans une séquence et ignorez les autres N'est pas applicable Prendre
TakeWhile Identique à celui de Take sauf le fait que le nombre d'éléments à prendre est spécifié par une condition booléenne N'est pas applicable Prendre pendant

Opérations de génération

Une nouvelle séquence de valeurs est créée par les opérateurs générationnels.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
DefaultIfEmpty Lorsqu'il est appliqué à une séquence vide, génère un élément par défaut dans une séquence N'est pas applicable N'est pas applicable
Vide Renvoie une séquence vide de valeurs et est l'opérateur générationnel le plus simple N'est pas applicable N'est pas applicable
Intervalle Génère une collection ayant une séquence d'entiers ou de nombres N'est pas applicable N'est pas applicable
Répéter Génère une séquence contenant des valeurs répétées d'une longueur spécifique N'est pas applicable N'est pas applicable

Définir les opérations

Il existe quatre opérateurs pour les opérations d'ensemble, chacun produisant un résultat basé sur différents critères.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Distinct Résultats une liste de valeurs uniques d'une collection en filtrant les données en double le cas échéant N'est pas applicable Distinct
Sauf Compare les valeurs de deux collections et renvoie celles d'une collection qui ne sont pas dans l'autre collection N'est pas applicable N'est pas applicable
Couper Renvoie l'ensemble des valeurs trouvées pour être identiques dans deux collections séparées N'est pas applicable N'est pas applicable
syndicat Combine le contenu de deux collections différentes en une seule liste sans aucun contenu en double N'est pas applicable N'est pas applicable

Égalité

Compare deux phrases (énumérables) et détermine si elles correspondent exactement ou non.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
SequenceEqual Résultats une valeur booléenne si deux séquences sont identiques l'une à l'autre N'est pas applicable N'est pas applicable

Opérateurs d'élément

À l'exception de DefaultIfEmpty, les huit autres opérateurs d'élément de requête standard renvoient un seul élément d'une collection.

Afficher des exemples

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
ElementAt Renvoie un élément présent dans un index spécifique d'une collection N'est pas applicable N'est pas applicable
ElementAtOrDefault Identique à ElementAt, à l'exception du fait qu'il renvoie également une valeur par défaut au cas où l'index spécifique serait hors de portée N'est pas applicable N'est pas applicable
Première Récupère le premier élément d'une collection ou le premier élément satisfaisant une condition spécifique N'est pas applicable N'est pas applicable
FirstOrDefault Identique à First sauf le fait qu'il renvoie également une valeur par défaut au cas où il n'y aurait pas de tels éléments N'est pas applicable N'est pas applicable
Dernier Récupère le dernier élément présent dans une collection ou le dernier élément satisfaisant une condition spécifique N'est pas applicable N'est pas applicable
LastOrDefault Identique à Last sauf le fait qu'il renvoie également une valeur par défaut au cas où il n'y aurait aucun élément de ce type N'est pas applicable N'est pas applicable
Célibataire Renvoie l'élément unique d'une collection ou l'élément isolé qui satisfait à une certaine condition N'est pas applicable N'est pas applicable
SingleOrDefault Identique à Single sauf qu'il renvoie également une valeur par défaut s'il n'y a pas d'existence d'un tel élément isolé N'est pas applicable N'est pas applicable
DefaultIfEmpty Renvoie une valeur par défaut si la collection ou la liste est vide ou nulle N'est pas applicable N'est pas applicable