Maison  >  Article  >  développement back-end  >  Programme C# pour trouver une liste d'étudiants dont les noms commencent par "S" en utilisant la méthode Where() de collecte de liste à l'aide de LINQ

Programme C# pour trouver une liste d'étudiants dont les noms commencent par "S" en utilisant la méthode Where() de collecte de liste à l'aide de LINQ

WBOY
WBOYavant
2023-09-11 21:29:021385parcourir

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

Présentation

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.

Requête intégrée au langage (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.

Où767cb18821eb42d0be2dbae71b5cc905(IEnumerable51957562cc2184b000bf5b07c9632283,Funcff5fbc224e3c4313d042b3d11149c3f2)

La traduction chinoise est :

Où767cb18821eb42d0be2dbae71b5cc905(IEnumerable51957562cc2184b000bf5b07c9632283,Funcff5fbc224e3c4313d042b3d11149c3f2)

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 IEnumerable8742468051c85b06f0a0af9e3e506b5c utilisé pour le filtrage et le prédicat est une fonction utilisée pour tester si chaque élément remplit les conditions.

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 IEnumerable8742468051c85b06f0a0af9e3e506b5c. ArgumentNullException peut être levée lorsque le prédicat ou la source est nul.

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.

Algorithme

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

Sortie

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

Complexité temporelle

La complexité temporelle de la méthode

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

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer