logo

Was ist LINQ?

LINQ ist als Language Integrated Query bekannt und wird in .NET 3.5 und Visual Studio 2008 eingeführt. Das Besondere an LINQ ist, dass es .NET-Sprachen (wie C#, VB.NET usw.) die Möglichkeit gibt, Abfragen zu erstellen Informationen aus der Informationsquelle wiederherstellen. Beispielsweise könnte ein Programm Daten aus den Aufzeichnungen der Studierenden abrufen oder auf die Aufzeichnungen der Arbeitskräfte zugreifen usw. In früheren Jahren wurden solche Informationen in einem anderen Datensatz als die Anwendung gespeichert, und Sie möchten unbedingt verschiedene Arten von Fragesprachen lernen, um auf solche Informationen wie SQL, XML usw. zuzugreifen. Darüber hinaus können Sie keine Frage mit der Sprache C# oder einer anderen .NET-Sprache stellen.

aws sns

Um solche Probleme zu lösen, hat Microsoft LINQ entwickelt. Es verbindet eine weitere Kapazität mit den C#- oder .NET-Dialekten, um eine Frage für jede LINQ-fähige Informationsquelle zu erstellen. Darüber hinaus ist das Beste daran, dass die Satzstruktur, die zur Erstellung einer Frage verwendet wird, unabhängig von der Art der verwendeten Informationsquelle ähnlich ist. Das bedeutet, dass die Grammatik für die Abfrage von Informationen in einem sozialen Datensatz dieselbe ist wie die, die für die Erstellung von Frageninformationen verwendet wird In einem Cluster gibt es einen zwingenden Grund, SQL oder eine andere Nicht-.NET-Sprachkomponente zu verwenden. Sie können LINQ auch mit SQL, mit XML-Datensätzen, mit ADO.NET, mit Webadministrationen und mit anderen Datenquellen verwenden.

In C# ist LINQ in System verfügbar. Linq-Namespace. Es bietet verschiedene Arten von Klassen und Techniken, die LINQ-Fragen beantworten. In diesem Namensraum:

  1. Die Enumerable-Klasse enthält einen Standardabfrageoperator, der auf ein Objekt wirkt, das IEnumerable ausführt.
  2. Die abfragbare Klasse enthält Standardabfrageadministratoren, die an einem Objekt arbeiten, das IQueryable ausführt.

Zum Beispiel : SQL ist eine strukturierte Abfragesprache, die zum Speichern und Wiederherstellen von Daten aus der Datenbank verwendet wird. Ebenso ist LINQ eine organisierte Abfragesatzstruktur. LINQ ist das grundlegende C#. Es wird verwendet, um Informationen aus verschiedenen Arten von Quellen wiederherzustellen, zum Beispiel XML, Dokumente, Sammlungen, ADO.Net DataSet, Web Service, MS SQL Server und verschiedene Datenbankserver.

Was ist LINQ

Verwendungsmöglichkeiten von LINQ

  1. Der Hauptgrund für die Erstellung von LINQ besteht darin, dass wir vor C# 3.0 eine for-Schleife, eine for-each-Schleife oder Delegaten verwendet haben, um eine Sammlung zu durchlaufen, um ein bestimmtes Objekt aufzuspüren. Der Nachteil dieser Strategien zum Auffinden eines Objekts besteht jedoch darin, dass Sie dies wirklich wollen Verfassen Sie eine enorme Menge Code, um ein Objekt zu finden, was umständlicher ist und Ihr Programm weniger übersichtlich macht. Um diese Probleme zu beseitigen, wird LINQ vorgestellt, das ähnliche Aktivitäten in mehreren Zeilen ausführt und Ihren Code klarer macht; Darüber hinaus können Sie ähnlichen Code in verschiedene Projekte einbinden.
  2. Darüber hinaus bietet es eine vollständige Sortierprüfung zur Kompilierzeit. Es hilft uns, den Fehler zur Laufzeit zu erkennen, sodass wir ihn zweifellos beseitigen können.
  3. LINQ ist eine unkomplizierte, übersichtlichere und komplexere Sprache als SQL
  4. Sie können LINQ auch mit C#-Arrays und -Sammlungen verwenden. Es bietet Ihnen eine weitere Anleitung, um die alten Probleme wirkungsvoll anzugehen.
  5. Mithilfe von LINQ können Sie zweifellos mit Datenquellen wie XML, SQL, Entitäten, Objekten usw. arbeiten. Eine einzelne Abfrage kann mit der Datenbank arbeiten, weshalb zwingend verschiedene Arten von Sprachen erlernt werden müssen.
  6. LINQ unterstützt Abfrageausdrücke, anonyme Typen, implizit typisierte Variablen, Lambda-Ausdrücke, Objekt- und Sammlungsinitialisierer sowie Erweiterungsmethoden.

Wir können LINQ-Abfragen auf zwei Arten verwenden

Die Syntaxstruktur der LINQ-Abfrage besteht aus Abfrageschlüsselwörtern, die in der .NET-Systemversion 3.5 oder höher charakterisiert sind. Dies ermöglicht es dem Softwareentwickler oder Entwickler, die Anweisungen ähnlich wie beim SQL-Design im Code (C# oder VB.NET) zu verfassen, ohne dass Raten verwendet werden müssen. Dies ist auch aufgrund der Frageartikulationsgrammatik bekannt. In LINQ können Sie die Anfrage mithilfe der folgenden Methoden an IEnumerable-Serien oder IQueryable-Informationsquellen verfassen:

1. Abfragesyntax:

Die Syntax der LINQ-Abfragesprache beginnt mit dem Schlüsselwort „from“ und endet mit dem Schlüsselwort „Select“ oder „GroupBy“. Nach dem Schlüsselwort „From“ können Sie je nach Bedarf verschiedene Arten von Standardabfragevorgängen wie Gruppieren, Filtern usw. verwenden. In LINQ stehen 50 verschiedene Arten von Standardfrageadministratoren zur Verfügung.

Schritte zum Schreiben der Abfragesyntax:

Schritt 1: Im ersten Schritt müssen wir den System.Linq-Namespace im Code hinzufügen.

 i.e., using System.Linq; 

Schritt 2: Im zweiten Schritt müssen wir die Datenquelle erstellen, auf der wir die Operationen durchführen müssen

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

Schritt 3: Im dritten Schritt müssen wir die Abfrage für die Datenquelle mit einem Schlüsselwort wie „select“, „from“ usw. erstellen.

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

Hier ist r die Abfragevariable, die das Ergebnis der Abfrageartikulation speichert. Die Formularklausel wird verwendet, um die Informationsquelle zu bestimmen, d. h. Liste, wobei die Bedingung auf den Kanal angewendet wird, d. h. l.Contains(' Hii ') und die SELECT-Anweisung gibt die Art der zurückgegebenen Dinge an. Darüber hinaus ist l die Reichweitenvariable.

Schritt 4: Der letzte Schritt besteht darin, die Abfrage mithilfe der for every-Schleife auszuführen.

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

Beispielprogramm zur Abfragesyntax:

 // 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); } } } 

Ausgabe:

Was ist LINQ

2. Methodensyntax

In LINQ wird die Methodensyntax verwendet, um die Erweiterungsmethode für die statischen Klassen Enumerable oder Queryable aufzurufen. Sie wird auch Methodenerweiterungssyntax oder Fluent genannt. Ungeachtet dessen ändert der Compiler im Allgemeinen die Abfragesyntax in der Methodensyntaxstruktur zur Kompilierungszeit. Es kann den Standardabfrageoperator wie „Where“, „Join“, „Max“, „Min“, „Avg“, „GroupBy Select“ usw. aufrufen. Sie können sie direkt aufrufen, ohne die Abfragesyntax zu verwenden.

Schritt 1: Im ersten Schritt müssen wir den System.Linq-Namespace im Code hinzufügen.

 i.e., using System.Linq; 

Schritt 2: Im zweiten Schritt müssen wir die Datenquelle erstellen, auf der wir die Operationen durchführen müssen

Bash für Schleife 1 bis 10
 Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' }; 

Schritt 3: Erstellen Sie nun die Abfrage mit den Methoden, die von den statischen Klassen Enumerable oder Queryable bereitgestellt werden

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

Hier ist r die Abfragevariable, die das Ergebnis der Abfrageartikulation speichert. Die Formularklausel wird verwendet, um die Informationsquelle zu bestimmen, d. h. Liste, wobei die Bedingung auf den Kanal angewendet wird, d. h. l.Contains(' Hii ') und die SELECT-Anweisung gibt die Art der zurückgegebenen Dinge an. Darüber hinaus ist l die Reichweitenvariable.

Schritt 4: Der letzte Schritt besteht darin, die Abfrage mithilfe der for every-Schleife auszuführen.

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

Beispielprogramm zur Methodensyntax:

 // 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); } } } 

Ausgabe:

Was ist LINQ

Vorteile von LINQ

  1. Der Client muss keine neuen Abfragesprachen für einen alternativen Datenformattyp oder eine andere Datenquelle erlernen.
  2. Es erhöht die Klarheit des Codes.
  3. Die Abfrage kann wiederverwendet werden.
  4. Es ermöglicht eine Typprüfung des Objekts zur Assemblierungszeit.
  5. Es verleiht herkömmlichen Sammlungen IntelliSense.
  6. Es wird in der Regel mit Sammlungen oder Arrays verwendet.
  7. LINQ unterstützt das Sortieren, Gruppieren, Filtern und Sortieren.
  8. Es vereinfacht das Debuggen, da es mit der Sprache C# koordiniert ist.
  9. Es ermöglicht einfache Änderungen, was darauf hindeutet, dass Sie problemlos mehr als einen Datentyp in einen anderen Datentyp ändern können, z. B. SQL-Daten in XML-Daten.