Le sujet à apprendre dans cet article est d'écrire un programme C# en utilisant la méthodewhere() de la collection List et LINQ pour trouver la liste des étudiants dont les noms commencent par 'S'.
Language Integrated Query, alias LINQ, est utilisé pour générer des requêtes en langage C#. Auparavant, nous devions utiliser d'autres langages relationnels tels que SQL et XML. Il fournit plus de fonctionnalités au langage C# ou à tout autre langage .NET. La syntaxe pour interroger une base de données dans LINQ est la même que pour interroger des données stockées dans un tableau.
Avant de continuer et de comprendre l'algorithme et le code du programme C#, utilisez la méthode Where() de la collection List de LINQ pour trouver la liste des étudiants dont les noms commencent par « S ». Passons brièvement en revue la forme abrégée de LINQ.
Une partie du framework .NET appelée LINQ permet aux utilisateurs de récupérer plus facilement des données de manière sécurisée. Cela a été introduit dans la version 3.5 de .NET.
La meilleure fonctionnalité de LINQ est qu'il fournit un moyen unique d'obtenir des données provenant de nombreuses sources, notamment des bases de données et des documents XML. Avec LINQ, les utilisateurs peuvent écrire du code plus facile à comprendre, plus simple et plus beau. Il fournit également d'autres fonctionnalités telles que le filtrage, le tri, le regroupement de données et même la modification de données.
Maintenant, il est temps de donner quelques explications sur la méthode Where(), elle est également connue sous le nom de méthode Enumerable.Where() et appartient à l'espace de noms System.Linq.
Cette méthode appartient à l'espace de noms System.Linq. Il filtre une séquence de valeurs basée sur un prédicat. Jetons un coup d'œil à sa syntaxe de définition -
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
Cette méthode a un paramètre de type TSource, qui nous indique le type d'élément de la source. Il existe également deux paramètres, la source est un IEnumerable
Il s'agit d'une méthode de retour qui renvoie une collection d'éléments dans la séquence d'entrée qui remplit les conditions, représentés par un IEnumerable
Nous prendrons un énoncé du problème qui nous permettra de comprendre facilement l'approche conceptuelle de Where().
Dans une école, il y a une équipe d'échecs composée de 5 membres de différentes classes. Il s'agit d'Ankit, Abhinay, Shubham, Shreyank et Shahnawaz. Ils étudient dans différentes classes. Un blazer avec l'initiale « S » est requis. Par conséquent, afin de connaître les noms des élèves commençant par « S », le directeur vous a chargé d'écrire un programme qui sélectionne les noms des élèves commençant par « S ».
Maintenant, dans la section suivante, nous allons discuter de l'algorithme permettant d'écrire un programme C# pour trouver la liste des étudiants dont les noms commencent par « S » en utilisant la méthode Where() de la collection de listes LINQ.
Voici les étapes que vous devez suivre lors de l'écriture du code d'un programme à l'aide de la méthode Where().
Étape 1 - N'oubliez pas de déclarer le bon espace de noms en utilisant la méthode Where(), c'est-à-dire System.Linq.
Étape 2− Démarrez le code de la classe et déclarez trois variables pour stocker le numéro de matricule, la classe et le nom de l'élève.
Étape 3− Dans l'étape suivante, nous créons la méthode string qui renvoie le numéro de matricule, le nom et le standard de l'étudiant.
Étape 4− Dans la section main(), nous déclarons la variable de liste puis ajoutons les données à la liste.
Étape 5 − Nous utilisons maintenant la méthodewhere() pour filtrer les informations requises en fonction du prédicat fourni par l'utilisateur.
Étape 6 − Dans cette étape, nous affichons les informations détaillées obtenues. Terminez ensuite le programme.
Exemple
Discutons de cette question à travers un exemple.
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() est constante, ce qui peut être appelé O(1) en notation Big-O. La complexité temporelle de l’ensemble du code est donc O(1).
Dans cet article, nous avons discuté d'un programme C# qui utilise la méthodewhere() de la collection de listes de LINQ pour trouver une liste d'étudiants dont les noms commencent par « S ». Nous comprenons la méthode Where(). Ensuite, nous avons appris les algorithmes et enfin le code. Nous comprenons alors la complexité temporelle du code.
Nous espérons que cet article vous a été utile pour améliorer vos connaissances en C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!