Das in diesem Artikel zu lernende Thema besteht darin, ein C#-Programm mit der Methode where() der List-Sammlung und LINQ zu schreiben, um die Liste der Schüler zu finden, deren Namen mit „S“ beginnen.
Language Integrated Query, auch bekannt als LINQ, wird zum Generieren von C#-Sprachabfragen verwendet. Bisher mussten wir andere relationale Sprachen wie SQL und XML verwenden. Es bietet mehr Funktionen für die C#-Sprache oder jede andere .NET-Sprache. Die Syntax zum Abfragen einer Datenbank in LINQ ist dieselbe wie zum Abfragen von in einem Array gespeicherten Daten.
Bevor wir fortfahren und den Algorithmus und Code des C#-Programms verstehen, verwenden Sie die Methode where() der List Collection von LINQ, um die Liste der Schüler zu finden, deren Namen mit „S“ beginnen. Sehen wir uns kurz die Kurzform von LINQ an.
Ein Teil des .NET-Frameworks namens LINQ erleichtert Benutzern das typsichere Abrufen von Daten. Dies wurde in .NET Version 3.5 eingeführt.
Das Beste an LINQ ist, dass es eine einzige Möglichkeit bietet, Daten aus vielen Quellen abzurufen, einschließlich Datenbanken und XML-Dokumenten. Mit LINQ können Benutzer Code schreiben, der leichter verständlich, einfacher und schöner ist. Es bietet auch andere Funktionen wie Filtern, Sortieren, Gruppieren von Daten und sogar Ändern von Daten.
Jetzt ist es an der Zeit, die Methode where() zu erklären. Sie ist auch als Enumerable.Where()-Methode bekannt und gehört zum Namespace System.Linq.
Diese Methode gehört zum Namespace System.Linq. Es filtert eine Folge von Werten basierend auf einem Prädikat. Werfen wir einen Blick auf die Definitionssyntax -
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
Diese Methode verfügt über einen Typparameter TSource, der uns den Typ des Elements der Quelle mitteilt. Es gibt auch zwei Parameter: Die Quelle ist ein IEnumerable
Dies ist eine Rückgabemethode, die eine Sammlung von Elementen in der Eingabesequenz zurückgibt, die die Bedingungen erfüllen, dargestellt als IEnumerable
Wir werden eine Problemstellung erstellen, die es uns leicht macht, den konzeptionellen Ansatz von where() zu verstehen.
In einer Schule gibt es eine Schachmannschaft, die aus 5 Mitgliedern verschiedener Klassen besteht. Sie sind Ankit, Abhinay, Shubham, Shreyank und Shahnawaz. Sie lernen in verschiedenen Klassen. Ein Blazer mit dem Anfangsbuchstaben „S“ ist erforderlich. Um die Namen der Schüler zu erfahren, die mit „S“ beginnen, hat der Schulleiter Sie daher beauftragt, ein Programm zu schreiben, das die Namen der Schüler auswählt, die mit „S“ beginnen.
Im nächsten Abschnitt besprechen wir nun den Algorithmus zum Schreiben eines C#-Programms, um die Liste der Schüler zu finden, deren Namen mit „S“ beginnen, mithilfe der Methode where() der LINQ-Listensammlung.
Hier sind die Schritte, die Sie befolgen müssen, wenn Sie Programmcode mit der Methode where() schreiben.
Schritt 1 – Denken Sie daran, den richtigen Namespace mit der Methode where() zu deklarieren, d. h. System.Linq.
Schritt 2− Starten Sie den Klassencode und deklarieren Sie drei Variablen, um die Rollennummer, die Klasse und den Namen des Schülers zu speichern.
Schritt 3− Im nächsten Schritt erstellen wir die String-Methode, die die Rollennummer, den Namen und den Standard des Schülers zurückgibt.
Schritt 4− Im Abschnitt main() deklarieren wir die Listenvariable und fügen dann die Daten der Liste hinzu.
Schritt 5 − Jetzt verwenden wir die Methode where(), um die erforderlichen Informationen basierend auf dem vom Benutzer bereitgestellten Prädikat zu filtern.
Schritt 6 − In diesem Schritt zeigen wir die erhaltenen Detailinformationen an. Beenden Sie dann das Programm.
Beispiel
Lassen Sie uns dieses Problem anhand eines Beispiels diskutieren.
using System.Linq; using System; using System.Collections.Generic; using System.Threading.Tasks; using System.Text; class Student{ // Three variables to store roll number, class, and name of the student int roll; int std; string name; // Creating the string method which returns roll number, name, and standard of student public override string ToString(){ return roll + " " + name + " " + std; } static void Main(string[] args){ // Declaring a list variable List<Student> student = new List<Student>(){ // Details of students of the chess team new Student{ roll = 21, name = "Ankit", std = 10 }, new Student{ roll = 12, name = "Abhinay", std = 10 }, new Student{ roll = 07, name = "Shubham", std = 11 }, new Student{ roll = 14, name = "Shreyank", std = 12 }, new Student{ roll = 10, name = "Shanawaz", std = 11 } }; // Using the Where() function we search through the student details IEnumerable<Student> Query = student.Where(s => s.name[0] == 'S'); // Displaying the student details Console.WriteLine("Roll Name Standard"); Console.WriteLine("- - - - - - - - - - - - - - - - - "); foreach (Student e in Query) { // Call the to string method Console.WriteLine(e.ToString()); } } }
Roll Name Standard - - - - - - - - - - - - - - - - - 07 Shubham 11 14 Shreyank 12 10 Shanawaz 11
where()-Methode ist konstant und kann in der Big-O-Notation als O(1) bezeichnet werden. Die zeitliche Komplexität des gesamten Codes beträgt also O(1).
In diesem Artikel haben wir ein C#-Programm besprochen, das die Methode where() der Listensammlung von LINQ verwendet, um eine Liste von Schülern zu finden, deren Namen mit „S“ beginnen. Wir verstehen die Methode where(). Dann lernten wir etwas über Algorithmen und schließlich lernten wir etwas über Code. Dann verstehen wir die zeitliche Komplexität des Codes.
Wir hoffen, dass dieser Artikel Ihnen dabei geholfen hat, Ihre C#-Kenntnisse zu erweitern.
Das obige ist der detaillierte Inhalt vonC#-Programm zum Suchen einer Liste von Schülern, deren Namen mit „S' beginnen, mithilfe der Methode where() der Listensammlung mithilfe von LINQ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!