Vous êtes sur la page 1sur 8

Types des collections en .

Net
En .NET, il existe plusieurs types de collections qui permettent de
stocker, organiser et manipuler des données. Les collections sont
regroupées dans l'espace de noms System.Collections et
System.Collections.Generic. Voici quelques-uns des types de collections
les plus couramment utilisés avec des exemples de démonstration en C#.
List<T> :
La classe List<T> fait partie de l'espace de noms System.Collections.Generic et permet de stocker
des éléments dans une liste dynamique.

using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
// Déclaration et initialisation d'une liste de chaînes
List<string> listeDeChaines = new List<string>();
// Ajout d'éléments à la liste
listeDeChaines.Add("Element 1");
listeDeChaines.Add("Element 2");
listeDeChaines.Add("Element 3");
// Parcours et affichage des éléments de la liste
foreach (var element in listeDeChaines)
{
Console.WriteLine(element);
}
}
}
Dictionary<TKey, TValue> :
La classe Dictionary<TKey, TValue> permet de stocker des paires clé-valeur.

csharp
Copy code
using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
// Déclaration et initialisation d'un dictionnaire de chaînes
Dictionary<int, string> dictionnaire = new Dictionary<int, string>();

// Ajout de paires clé-valeur au dictionnaire


dictionnaire.Add(1, "Valeur 1");
dictionnaire.Add(2, "Valeur 2");
dictionnaire.Add(3, "Valeur 3");

// Accès aux éléments du dictionnaire par la clé


Console.WriteLine(dictionnaire[2]); // Affiche "Valeur 2"
}
}
Queue<T> :
La classe Queue<T> représente une file d'attente FIFO (premier entré, premier sorti).

using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
// Déclaration et initialisation d'une file d'attente de chaînes
Queue<string> fileDAttente = new Queue<string>();
// Enfilement d'éléments
fileDAttente.Enqueue("Client 1");
fileDAttente.Enqueue("Client 2");
fileDAttente.Enqueue("Client 3");
// Défilement et affichage des éléments de la file d'attente
while (fileDAttente.Count > 0)
{
string client = fileDAttente.Dequeue();
Console.WriteLine($"Client traité : {client}");
}
}
}
Stack<T> :
La classe Stack<T> représente une pile LIFO (dernier entré, premier sorti).

using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
// Déclaration et initialisation d'une pile de chaînes
Stack<string> pile = new Stack<string>();
// Empilement d'éléments
pile.Push("Livre 1");
pile.Push("Livre 2");
pile.Push("Livre 3");
// Dépilement et affichage des éléments de la pile
while (pile.Count > 0)
{
string livre = pile.Pop();
Console.WriteLine($"Livre retiré : {livre}");
}
}
}
IQueryable:

IQueryable représente une séquence de données pouvant être interrogée à partir d'une source de données, telle qu'une
base de données.
Il est utilisé pour effectuer des requêtes complexes et spécifiques sur une source de données, et les requêtes ne sont
exécutées que lorsqu'une action comme ToList(), Count(), etc., est appelée.
csharp
Copy code
// Exemple avec Entity Framework
IQueryable<Customer> query = dbContext.Customers.Where(c => c.City == "Paris");
List<Customer> parisCustomers = query.ToList();
IEnumerable:

IEnumerable est une interface de base pour toutes les collections qui peuvent être énumérées (par exemple, listes,
tableaux, etc.).
Il fournit une énumération simple des éléments dans une collection.
csharp
Copy code
IEnumerable<string> fruits = new List<string> { "Apple", "Banana", "Orange" };
foreach (var fruit in fruits)
{
Console.WriteLine(fruit);
}
IList:
IList étend IEnumerable et représente une liste d'objets qui peut être accédée par un index.
Il permet l'ajout, la suppression et la modification d'éléments.
csharp
Copy code
IList<string> colors = new List<string> { "Red", "Green", "Blue" };
colors.Add("Yellow");
string firstColor = colors[0];

ICollection:
ICollection étend IEnumerable et représente une collection d'objets pouvant être ajoutés ou supprimés.
Il fournit des membres pour ajouter, supprimer et vérifier la présence d'éléments dans la collection.
csharp
Copy code
ICollection<int> numbers = new List<int> { 1, 2, 3 };
numbers.Add(4);
numbers.Remove(2);
bool containsThree = numbers.Contains(3);

Vous aimerez peut-être aussi