logo

Qu’est-ce que LINQ ?

LINQ est connu sous le nom de Language Integrated Query et est présenté dans .NET 3.5 et Visual Studio 2008. L'excellence de LINQ est qu'il donne la possibilité aux langages .NET (comme C#, VB.NET, etc.) de créer des requêtes pour récupérer des informations à partir de la source d'informations. Par exemple, un programme peut obtenir des données à partir des dossiers des doublures ou accéder aux dossiers des employés, etc. Au cours des années précédentes, ce type d'informations était stocké dans un ensemble de données différent de celui de l'application, et vous souhaitiez vraiment apprendre différents types de langage de questions pour accéder à ce type d'informations telles que SQL, XML, etc. Et de plus, vous ne pouvez pas poser de question en utilisant le langage C# ou un autre langage .NET.

java analyser la chaîne en int

Pour résoudre ce type de problèmes, Microsoft a créé LINQ. Il connecte une capacité supplémentaire aux dialectes C# ou .NET pour créer une question pour toute source d'informations viable LINQ. De plus, la meilleure partie est que la structure de phrase utilisée pour formuler une question est similaire, quel que soit le type de source d'informations utilisée, ce qui signifie que la grammaire pour effectuer une recherche sur les informations dans un ensemble de données sociales est la même que celle utilisée pour formuler des informations dans une question. rangé dans un cluster, il existe une raison impérieuse d'utiliser SQL ou un autre composant de langage non .NET. Vous pouvez également utiliser LINQ avec SQL, avec des enregistrements XML, avec ADO.NET, avec des administrations Web et avec d'autres bases d'informations.

En C#, LINQ est disponible dans System. Espace de noms Linq. Il donne différents types de cours et de techniques qui répondent aux questions LINQ. Dans cet espace de noms :

  1. La classe Enumerable contient un opérateur de requête standard qui fonctionne sur un objet qui exécute IEnumerable.
  2. La classe interrogeable contient des administrateurs d'enquêtes standard qui travaillent sur un objet qui exécute IQueryable.

Par exemple : SQL est un langage de requête structuré utilisé pour enregistrer et récupérer les données de la base de données. De même, LINQ est une structure de phrase de requête organisée. LINQ est le C# de base. Il est utilisé pour récupérer des informations à partir de différents types de sources, par exemple XML, documents, collections, ADO.Net DataSet, service Web, MS SQL Server et différents serveurs de bases de données.

Qu'est-ce que LINQ

Utilisations de LINQ

  1. La principale raison derrière la création de LINQ est qu'avant C# 3.0, nous utilisions des boucles for, pour chaque boucle, ou des délégués pour parcourir une collection afin de retrouver un objet particulier, mais l'inconvénient d'impliquer ces stratégies pour trouver un objet est que vous voulez vraiment composez une énorme quantité de code pour trouver un objet qui est encore plus fastidieux et rend votre programme moins clair. Ainsi, pour résoudre ces problèmes, LINQ est présenté, qui exécute une activité similaire sur quelques lignes et rend votre code clair ; de plus, vous pouvez impliquer un code similaire dans différents projets.
  2. Il permet en outre une vérification de tri complète au moment de la compilation. Cela nous aide à distinguer les erreurs au moment de l'exécution, afin que nous puissions sans aucun doute les éliminer.
  3. LINQ est un langage simple, très bien organisé et d'un niveau significatif par rapport à SQL
  4. Vous pouvez également utiliser LINQ avec un tableau et des collections C#. Il vous fournit des conseils supplémentaires pour résoudre efficacement les anciens problèmes.
  5. Avec l'aide de LINQ, vous pouvez sans aucun doute travailler avec une source de données telle que XML, SQL, Entités, objets, etc. Une seule requête peut fonctionner avec la base de données, il est donc nécessaire d’apprendre différents types de langues.
  6. LINQ prend en charge les expressions de requête, les types anonymes, les variables typées implicitement, les expressions Lambda, les initialiseurs d'objets et de collections et les méthodes d'extension.

Nous pouvons utiliser les requêtes LINQ de deux manières

La structure de la syntaxe des requêtes LINQ est composée de mots-clés de requête qui sont caractérisés dans le rendu du système .NET 3.5 ou supérieur. Cela permet à l'ingénieur logiciel ou aux développeurs de composer les instructions de manière très similaire à la conception SQL dans le code (C# ou VB.NET) sans utiliser de tarifs. Il est également connu à la lumière du fait que la grammaire d'articulation des questions. Dans LINQ, vous pouvez composer la requête vers des séries IEnumerable ou des sources d'informations IQueryable en utilisant les stratégies suivantes :

1. Syntaxe de requête :

La syntaxe du langage de requête LINQ commence par le mot-clé from et se termine par le mot-clé Select ou GroupBy. Après le mot-clé from, vous pouvez utiliser différents types d'opérations de requête standard telles que le regroupement, le filtrage, etc., selon vos besoins. Dans LINQ, 50 types uniques d’administrateurs de questions standard sont accessibles.

Étapes pour écrire la syntaxe de requête :

Étape 1: Dans la première étape, nous devons ajouter l'espace de noms System.Linq dans le code.

 i.e., using System.Linq; 

Étape 2: Dans un deuxième temps, nous devons créer la source de données sur laquelle nous devons effectuer les opérations

 Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' }; 

Étape 3: Dans la troisième étape, nous devons créer la requête pour la source de données en utilisant un mot-clé comme select, from, etc.

 Ex: var r = from l in list where l.Contains(' Hii ') select l; 

Ici, r est la variable de requête qui stocke le résultat de l'articulation de la requête. La clause form est utilisée pour déterminer la source d'informations, c'est-à-dire la liste, où la condition s'applique au canal, c'est-à-dire l.Contains(' Hii ') et l'instruction select donne le type d'éléments ramenés. De plus, l est la variable de portée.

Étape 4: La dernière étape consiste à exécuter la requête en utilisant la boucle for each.

 EX: foreach(var i in r) { Console.WriteLine(i); } 

Exemple de programme sur la syntaxe de requête :

liste des tableaux
 // program to create LINQ query using Query Syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; // step-3: Creating the LINQ query for the data source using a keyword like select, from, etc. var r = from l in list where l.Contains(' JavaTpoint') select l; // In this will print only the sentence which contains JavaTpoint word // step-4: Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } } 

Sortir:

Qu'est-ce que LINQ

2. Syntaxe de la méthode

Dans LINQ, la syntaxe de méthode est utilisée pour appeler la méthode d'expansion pour les classes statiques Enumerable ou Queryable. Elle est également appelée Syntaxe d'extension de méthode ou Fluent. Néanmoins, le compilateur modifie généralement la syntaxe de la requête dans la structure de la syntaxe de la méthode au moment de la compilation. Il peut invoquer l'opérateur de requête standard comme Where, Join, Max, Min, Avg, GroupBy Select, etc. Vous êtes autorisé à les appeler directement sans utiliser la syntaxe de requête.

Étape 1: Dans la première étape, nous devons ajouter l'espace de noms System.Linq dans le code.

 i.e., using System.Linq; 

Étape 2: Dans un deuxième temps, nous devons créer la source de données sur laquelle nous devons effectuer les opérations

 Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' }; 

Étape 3: Créez maintenant la requête en utilisant les méthodes fournies par les classes statiques Enumerable ou Queryable

 Ex: var r = list.Where(a=> a.Contains(' JavaTpoint ')); 

Ici, r est la variable de requête qui stocke le résultat de l'articulation de la requête. La clause form est utilisée pour déterminer la source d'informations, c'est-à-dire la liste, où la condition s'applique au canal, c'est-à-dire l.Contains(' Hii ') et l'instruction select donne le type d'éléments ramenés. De plus, l est la variable de portée.

Étape 4: La dernière étape consiste à exécuter la requête en utilisant la boucle for each.

 EX: foreach(var i in r) { Console.WriteLine(i); } 

Exemple de programme sur la syntaxe de la méthode :

 // program to create LINQ query using Method syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; //step-3 creating the query using the methods provided by the Enumerable or Queryable static classes var r = list.Where(a=> a.Contains(' JavaTpoint ')); // In this will print only the sentence which contains JavaTpoint word // Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } } 

Sortir:

Qu'est-ce que LINQ

Avantages de LINQ

  1. Le client n'a pas besoin d'apprendre de nouveaux langages de requête pour un autre type de format de données ou de source de données.
  2. Cela augmente la clarté du code.
  3. La requête peut être réutilisée.
  4. Il donne une vérification de type de l'objet au moment de l'assemblage.
  5. Il donne IntelliSense aux collections conventionnelles.
  6. Il a tendance à être utilisé avec des collections ou des tableaux.
  7. LINQ prend en charge le classement, le regroupement, le filtrage et le tri.
  8. Cela simplifie le débogage puisqu’il est coordonné avec le langage C#.
  9. Il donne un changement simple suggérant que vous pouvez sans aucun doute changer plus d'un type de données en un autre type de données, comme changer des données SQL en données XML.