Maison  >  Article  >  développement back-end  >  Liste en C#

Liste en C#

王林
王林original
2024-09-03 15:28:00597parcourir

La liste en C# joue un rôle très important dans le stockage et la récupération des données. Voici quelques points importants sur la liste générique ( List ) en C# :

  • Liste< T> est une liste d'objets fortement typée où T représente le type d'objets dans la liste.
  • Il est présent sous Collections. Espace de noms générique.
  • Les éléments de la liste sont accessibles via son numéro d'index et l'indexation dans la liste commence par zéro.
  • La liste peut être redimensionnée dynamiquement.
  • Si les éléments de la liste sont de type référence alors la liste peut également accepter des valeurs nulles.
  • Il permet la duplication d'éléments.

Syntaxe :

List<T> list_name = new List<T>();

Explication : Dans la déclaration ci-dessus, List< T> est une liste générique de type T. Ici, T peut être de n'importe quel type comme int, string, etc. Et list_name est le nom donné par l'utilisateur de la liste. On initialise une liste à l'aide d'un mot clé ' new '.

Nous pouvons également créer une liste à l'aide de l'outil IList< T> interface, telle que :

IList<T> list_name = new List<T>();

Comment créer une liste en C# ?

Pour travailler avec List< T >, nous devons d’abord importer l’espace de noms System.Collections.Generic dans notre programme.

Il existe de nombreuses façons de créer une liste en C#, telles que :

  • Création d'une liste avec une capacité par défaut à l'aide de List< T> constructeur de classe.

Exemple :

List<int> lstNum = new List<int>();

L'instruction ci-dessus créera une liste d'entiers avec une capacité par défaut. Si la capacité de la liste n'est pas définie par l'utilisateur alors la taille de la liste augmente à chaque fois qu'un élément est ajouté à la liste.

Formation ASP.NET (9 cours, 19 projets).Programme de formation NET (5 cours, 19 projets)

  • Nous pouvons ajouter un élément à la liste en utilisant la méthode Add().

Exemple :

lstNum.Add(1);
lstNum.Add(2);
lstNum.Add(3);

Création d'une liste avec une capacité définie par l'utilisateur.

Exemple :

List<string> lstString = new List<string>(3);

L'instruction ci-dessus créera une liste d'une chaîne de capacité trois. La capacité augmente automatiquement lorsque plus de trois éléments sont ajoutés à la liste. Nous pouvons également ajouter des éléments à la liste lors de son initialisation.

List<string> lstString = new List<string>(3)
{
"Neha",
"Shweta",
"Megha"
};

Nous pouvons également créer une liste à l'aide d'une autre collection d'éléments.

Exemple :

//string array of names
string[] names = {"Neha", "Shweta", "Megha"};
//creating list by using string array
List<string> lstNames = new List<string>(names);

Nous pouvons ajouter une autre collection d'éléments à une liste en utilisant la méthode AddRange().

Exemple :

string[] names = {"Neha", "Shweta", "Megha"};
List<string> lstNames = new List<string>();
//adding elements of string array to list
lstNames.AddRange(names);

Méthodes de liste en C# avec exemples

Discutons de quelques méthodes importantes de la classe List comme suit :

1. Ajouter( T )

Cette méthode est utilisée pour ajouter un objet à la fin de la liste. Il peut ajouter une valeur nulle pour un type de référence.

Exemple :

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<int> lstNum = new List<int>(){1, 2, 3, 4};
//Adding 5 at the end of list
lstNum.Add(5);
foreach(int num in lstNum)
{
Console.WriteLine(num);
}
}
}

Sortie :

Liste en C#

2. Effacer()

Cette méthode est utilisée pour supprimer tous les éléments de la liste.

Exemple :

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<int> lstNum = new List<int>(){1, 2, 3, 4, 5};
//removing all elements from the list
lstNum.Clear();
if(lstNum.Count > 0)
Console.WriteLine("List is not empty");
else
Console.WriteLine("List is empty");
}
}

Sortie :

Liste en C#

3. Insérer( Int32, T )

Cette méthode est utilisée pour insérer un élément à la position spécifiée dans la liste. Il faut deux arguments, le premier argument est le numéro d'index où vous souhaitez insérer un élément et le deuxième argument est l'élément lui-même.

Exemple :

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<string> lstCities = new List<string>(){"Mumbai", "Pune", "Bengaluru"};
//inserting element at third position
lstCities.Insert(2, "Chennai");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
}
}

Sortie :

Liste en C#

4. RemoveAt( Int32 )

Cette méthode est utilisée pour supprimer un élément à la position spécifiée de la liste.

Exemple :

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<string> lstCities = new List<string>() {"Mumbai","Pune","Bengaluru"};
Console.WriteLine("Initial list values");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
//removing element at second position
lstCities.RemoveAt(1);
Console.WriteLine("\nAfter removing element at second position");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
}
}

Sortie :

Liste en C#

5. Trier()

Cette méthode permet de trier les éléments de la liste à l'aide du comparateur par défaut.

Exemple :

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<string> lstCities = new List<string>(){"Mumbai","Pune","Bengaluru"};
Console.WriteLine("Initial list values");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
//sorting elements in ascending order
lstCities.Sort();
Console.WriteLine("\nList after sorting in ascending order");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
//sorting elements in descending order by calling Reverse()
lstCities.Reverse();
Console.WriteLine("\nList after sorting in descending order");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
}
}

Sortie :

Liste en C#

Dans le programme ci-dessus, nous avons d'abord trié la liste par ordre croissant à l'aide de Sort(). Maintenant, pour trier la liste par ordre décroissant, nous avons appelé la méthode Reverse() sur la liste triée. Nous pouvons trier une liste de types int, string, etc. en utilisant la méthode Sort() mais pour trier une liste d'objets de type personnalisés, nous devons implémenter une interface IComparable ou nous pouvons également utiliser LINQ. Nous pouvons trier ce type de liste d'une autre manière comme le montre l'exemple ci-dessous :

Exemple :

using System;
using System.Collections.Generic;
public class Student
{
public string Name { get; set; }
public int Marks { get; set; }
public Student(string name, int marks)
{
Name = name;
Marks = marks;
}
}
public class ListDemo
{
public static void Main()
{
List<Student> lstStudents = new List<Student>();
lstStudents.Add(new Student("Neha", 90));
lstStudents.Add(new Student("John", 75));
lstStudents.Add(new Student("Kate", 88));
lstStudents.Add(new Student("Arya", 70));
//sorting students in ascending order of their marks
lstStudents.Sort(CompareMarks);
foreach (Student student in lstStudents)
{
Console.WriteLine(student.Name + ": " + student.Marks);
}
}
public static int CompareMarks(Student student1, Student student2)
{
return student1.Marks.CompareTo(student2.Marks);
}
}

Sortie :

Liste en C#

Conclusion

Liste< T> est une collection générique d’éléments d’un type spécifié. Les éléments de la liste sont accessibles via son numéro d'index en utilisant la boucle « for » ou « foreach ». Nous pouvons effectuer de nombreuses opérations sur une liste comme ajouter, insérer, rechercher, trier, etc. Elle est de taille dynamique.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Collections en C#Article suivant:Collections en C#