Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Programm zum Suchen einer Liste von Schülern, deren Namen mit „S“ beginnen, mithilfe der Methode where() der Listensammlung mithilfe von LINQ

C#-Programm zum Suchen einer Liste von Schülern, deren Namen mit „S“ beginnen, mithilfe der Methode where() der Listensammlung mithilfe von LINQ

WBOY
WBOYnach vorne
2023-09-11 21:29:021385Durchsuche

C# 程序使用使用 LINQ 的列表收集的 where() 方法查找姓名以“S”开头的学生列表

Einführung

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.

Language Integrated Query (LINQ)

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.

Where767cb18821eb42d0be2dbae71b5cc905(IEnumerable51957562cc2184b000bf5b07c9632283,Funcff5fbc224e3c4313d042b3d11149c3f2)

Die chinesische Übersetzung lautet:

Where767cb18821eb42d0be2dbae71b5cc905(IEnumerable51957562cc2184b000bf5b07c9632283,Funcff5fbc224e3c4313d042b3d11149c3f2)

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 IEnumerable8742468051c85b06f0a0af9e3e506b5c, das zum Filtern verwendet wird, und das Prädikat ist eine Funktion, die verwendet wird, um zu testen, ob jedes Element die Bedingungen erfüllt.

Dies ist eine Rückgabemethode, die eine Sammlung von Elementen in der Eingabesequenz zurückgibt, die die Bedingungen erfüllen, dargestellt als IEnumerable8742468051c85b06f0a0af9e3e506b5c. ArgumentNullException kann ausgelöst werden, wenn das Prädikat oder die Quelle null ist.

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.

Algorithmus

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

Ausgabe

Roll Name Standard
- - - - - - - - - - - - - - - - -
07 Shubham 11
14 Shreyank 12
10 Shanawaz 11 

Zeitliche Komplexität

Die zeitliche Komplexität der

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).

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen