En C#, une liste de tableaux est une structure où chaque élément de la liste est un tableau. Cela peut être utile lorsque vous devez gérer une collection de tableaux de tailles fixes ou dynamiques.
Pour créer une liste de tableaux, utilisez la classe List du namespace System.Collections.Generic, combinée avec le type tableau (T[]).
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Déclarer une liste de tableaux d'entiers
List<int[]> listeTableaux = new List<int[]>();
// Initialiser des tableaux et les ajouter à la liste
listeTableaux.Add(new int[] { 1, 2, 3 });
listeTableaux.Add(new int[] { 4, 5 });
listeTableaux.Add(new int[] { 6, 7, 8, 9 });
// Afficher les éléments
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
}
}
Résultat :
1, 2, 3
4, 5
6, 7, 8, 9
Les éléments d’une liste de tableaux sont accessibles via leur index dans la liste et via leur index dans le tableau.
List<int[]> listeTableaux = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 6, 7, 8, 9 }
};
// Accéder au deuxième tableau
int[] tableau2 = listeTableaux[1];
Console.WriteLine(string.Join(", ", tableau2)); // Affiche : 4, 5
// Accéder au troisième élément du troisième tableau
int valeur = listeTableaux[2][2];
Console.WriteLine(valeur); // Affiche : 8
Add.Remove ou RemoveAt.List<int[]> listeTableaux = new List<int[]>();
// Ajouter des tableaux
listeTableaux.Add(new int[] { 10, 20 });
listeTableaux.Add(new int[] { 30, 40 });
// Supprimer le premier tableau
listeTableaux.RemoveAt(0);
// Afficher les éléments restants
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
Résultat :
30, 40
Vous pouvez parcourir une liste de tableaux avec des boucles foreach ou for.
foreachList<int[]> listeTableaux = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 6, 7, 8, 9 }
};
// Parcourir les tableaux
foreach (int[] tableau in listeTableaux)
{
foreach (int valeur in tableau)
{
Console.Write(valeur + " ");
}
Console.WriteLine();
}
Résultat :
1 2 3
4 5
6 7 8 9
forfor (int i = 0; i < listeTableaux.Count; i++)
{
Console.WriteLine($"Tableau {i + 1}: {string.Join(", ", listeTableaux[i])}");
}
Vous pouvez trier une liste de tableaux en fonction de leur longueur ou des valeurs spécifiques.
List<int[]> listeTableaux = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 6, 7, 8, 9 }
};
// Trier par longueur de tableau
listeTableaux.Sort((a, b) => a.Length.CompareTo(b.Length));
// Afficher les tableaux triés
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
Résultat :
4, 5
1, 2, 3
6, 7, 8, 9
listeTableaux.Sort((a, b) => a[0].CompareTo(b[0]));
Vous pouvez créer une liste de tableaux contenant des objets personnalisés.
public class Personne
{
public string Nom { get; set; }
public int Age { get; set; }
}
List<Personne[]> listeTableauxPersonnes = new List<Personne[]>
{
new Personne[] { new Personne { Nom = "Jean", Age = 30 }, new Personne { Nom = "Marie", Age = 25 } },
new Personne[] { new Personne { Nom = "Paul", Age = 40 } }
};
// Afficher les tableaux d'objets
foreach (Personne[] tableau in listeTableauxPersonnes)
{
foreach (Personne personne in tableau)
{
Console.WriteLine($"Nom : {personne.Nom}, Âge : {personne.Age}");
}
Console.WriteLine();
}
Résultat :
Nom : Jean, Âge : 30
Nom : Marie, Âge : 25
Nom : Paul, Âge : 40
| Méthode | Description |
|---|---|
Add(array) | Ajoute un tableau à la liste. |
Remove(array) | Supprime un tableau spécifique. |
RemoveAt(index) | Supprime un tableau à l’index spécifié. |
Sort(comparison) | Trie la liste selon un critère. |
Count | Retourne le nombre de tableaux dans la liste. |
Clear() | Supprime tous les tableaux de la liste. |
Voici un programme complet combinant plusieurs fonctionnalités d’une liste de tableaux.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int[]> listeTableaux = new List<int[]>();
// Ajouter des tableaux
listeTableaux.Add(new int[] { 5, 10, 15 });
listeTableaux.Add(new int[] { 1, 2 });
listeTableaux.Add(new int[] { 8, 3, 6, 4 });
// Trier par longueur
listeTableaux.Sort((a, b) => a.Length.CompareTo(b.Length));
// Afficher les tableaux triés
Console.WriteLine("Tableaux triés par longueur :");
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
// Rechercher une valeur dans les tableaux
Console.WriteLine("\nRechercher une valeur :");
int recherche = 6;
bool trouve = false;
foreach (int[] tableau in listeTableaux)
{
if (Array.IndexOf(tableau, recherche) >= 0)
{
Console.WriteLine($"Valeur {recherche} trouvée dans {string.Join(", ", tableau)}");
trouve = true;
}
}
if (!trouve)
{
Console.WriteLine($"Valeur {recherche} non trouvée.");
}
}
}
En C#, une liste de tableaux est une structure où chaque élément de la liste est un tableau. Cela peut être utile lorsque vous devez gérer une collection de tableaux de tailles fixes ou dynamiques.
Pour créer une liste de tableaux, utilisez la classe List du namespace System.Collections.Generic, combinée avec le type tableau (T[]).
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Déclarer une liste de tableaux d'entiers
List<int[]> listeTableaux = new List<int[]>();
// Initialiser des tableaux et les ajouter à la liste
listeTableaux.Add(new int[] { 1, 2, 3 });
listeTableaux.Add(new int[] { 4, 5 });
listeTableaux.Add(new int[] { 6, 7, 8, 9 });
// Afficher les éléments
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
}
}
Résultat :
1, 2, 3
4, 5
6, 7, 8, 9
Les éléments d’une liste de tableaux sont accessibles via leur index dans la liste et via leur index dans le tableau.
List<int[]> listeTableaux = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 6, 7, 8, 9 }
};
// Accéder au deuxième tableau
int[] tableau2 = listeTableaux[1];
Console.WriteLine(string.Join(", ", tableau2)); // Affiche : 4, 5
// Accéder au troisième élément du troisième tableau
int valeur = listeTableaux[2][2];
Console.WriteLine(valeur); // Affiche : 8
Add.Remove ou RemoveAt.List<int[]> listeTableaux = new List<int[]>();
// Ajouter des tableaux
listeTableaux.Add(new int[] { 10, 20 });
listeTableaux.Add(new int[] { 30, 40 });
// Supprimer le premier tableau
listeTableaux.RemoveAt(0);
// Afficher les éléments restants
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
Résultat :
30, 40
Vous pouvez parcourir une liste de tableaux avec des boucles foreach ou for.
foreachList<int[]> listeTableaux = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 6, 7, 8, 9 }
};
// Parcourir les tableaux
foreach (int[] tableau in listeTableaux)
{
foreach (int valeur in tableau)
{
Console.Write(valeur + " ");
}
Console.WriteLine();
}
Résultat :
1 2 3
4 5
6 7 8 9
forfor (int i = 0; i < listeTableaux.Count; i++)
{
Console.WriteLine($"Tableau {i + 1}: {string.Join(", ", listeTableaux[i])}");
}
Vous pouvez trier une liste de tableaux en fonction de leur longueur ou des valeurs spécifiques.
List<int[]> listeTableaux = new List<int[]>
{
new int[] { 1, 2, 3 },
new int[] { 4, 5 },
new int[] { 6, 7, 8, 9 }
};
// Trier par longueur de tableau
listeTableaux.Sort((a, b) => a.Length.CompareTo(b.Length));
// Afficher les tableaux triés
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
Résultat :
4, 5
1, 2, 3
6, 7, 8, 9
listeTableaux.Sort((a, b) => a[0].CompareTo(b[0]));
Vous pouvez créer une liste de tableaux contenant des objets personnalisés.
public class Personne
{
public string Nom { get; set; }
public int Age { get; set; }
}
List<Personne[]> listeTableauxPersonnes = new List<Personne[]>
{
new Personne[] { new Personne { Nom = "Jean", Age = 30 }, new Personne { Nom = "Marie", Age = 25 } },
new Personne[] { new Personne { Nom = "Paul", Age = 40 } }
};
// Afficher les tableaux d'objets
foreach (Personne[] tableau in listeTableauxPersonnes)
{
foreach (Personne personne in tableau)
{
Console.WriteLine($"Nom : {personne.Nom}, Âge : {personne.Age}");
}
Console.WriteLine();
}
Résultat :
Nom : Jean, Âge : 30
Nom : Marie, Âge : 25
Nom : Paul, Âge : 40
| Méthode | Description |
|---|---|
Add(array) | Ajoute un tableau à la liste. |
Remove(array) | Supprime un tableau spécifique. |
RemoveAt(index) | Supprime un tableau à l’index spécifié. |
Sort(comparison) | Trie la liste selon un critère. |
Count | Retourne le nombre de tableaux dans la liste. |
Clear() | Supprime tous les tableaux de la liste. |
Voici un programme complet combinant plusieurs fonctionnalités d’une liste de tableaux.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int[]> listeTableaux = new List<int[]>();
// Ajouter des tableaux
listeTableaux.Add(new int[] { 5, 10, 15 });
listeTableaux.Add(new int[] { 1, 2 });
listeTableaux.Add(new int[] { 8, 3, 6, 4 });
// Trier par longueur
listeTableaux.Sort((a, b) => a.Length.CompareTo(b.Length));
// Afficher les tableaux triés
Console.WriteLine("Tableaux triés par longueur :");
foreach (int[] tableau in listeTableaux)
{
Console.WriteLine(string.Join(", ", tableau));
}
// Rechercher une valeur dans les tableaux
Console.WriteLine("\nRechercher une valeur :");
int recherche = 6;
bool trouve = false;
foreach (int[] tableau in listeTableaux)
{
if (Array.IndexOf(tableau, recherche) >= 0)
{
Console.WriteLine($"Valeur {recherche} trouvée dans {string.Join(", ", tableau)}");
trouve = true;
}
}
if (!trouve)
{
Console.WriteLine($"Valeur {recherche} non trouvée.");
}
}
}
Cet exemple montre comment utiliser une liste de tableaux en C# pour gérer un système de cours. Chaque cours contient une liste fixe d’étudiants, et tous les cours sont stockés dans une liste.
Le programme permet de :
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Liste pour stocker les cours (chaque cours est un tableau de noms d'étudiants)
List<string[]> listeCours = new List<string[]>();
int choix;
do
{
Console.WriteLine("\n=== Gestion des Cours ===");
Console.WriteLine("1. Ajouter un cours");
Console.WriteLine("2. Afficher tous les cours");
Console.WriteLine("3. Rechercher un étudiant");
Console.WriteLine("4. Trier les cours par nombre d'étudiants");
Console.WriteLine("5. Quitter");
Console.Write("Entrez votre choix : ");
choix = int.Parse(Console.ReadLine());
switch (choix)
{
case 1:
// Ajouter un cours
Console.Write("Entrez le nombre d'étudiants dans le cours : ");
int nombreEtudiants = int.Parse(Console.ReadLine());
string[] etudiants = new string[nombreEtudiants];
for (int i = 0; i < nombreEtudiants; i++)
{
Console.Write($"Entrez le nom de l'étudiant {i + 1} : ");
etudiants[i] = Console.ReadLine();
}
listeCours.Add(etudiants);
Console.WriteLine("Cours ajouté avec succès !");
break;
case 2:
// Afficher tous les cours
if (listeCours.Count == 0)
{
Console.WriteLine("Aucun cours enregistré.");
}
else
{
Console.WriteLine("=== Liste des Cours ===");
for (int i = 0; i < listeCours.Count; i++)
{
Console.WriteLine($"Cours {i + 1} : {string.Join(", ", listeCours[i])}");
}
}
break;
case 3:
// Rechercher un étudiant
Console.Write("Entrez le nom de l'étudiant à rechercher : ");
string recherche = Console.ReadLine();
bool trouve = false;
for (int i = 0; i < listeCours.Count; i++)
{
if (Array.Exists(listeCours[i], etudiant => etudiant == recherche))
{
Console.WriteLine($"L'étudiant {recherche} se trouve dans le cours {i + 1}.");
trouve = true;
}
}
if (!trouve)
{
Console.WriteLine($"L'étudiant {recherche} n'a pas été trouvé.");
}
break;
case 4:
// Trier les cours par nombre d'étudiants
listeCours.Sort((a, b) => a.Length.CompareTo(b.Length));
Console.WriteLine("Les cours ont été triés par nombre d'étudiants.");
break;
case 5:
// Quitter
Console.WriteLine("Au revoir !");
break;
default:
Console.WriteLine("Choix invalide. Veuillez réessayer.");
break;
}
} while (choix != 5);
}
} Structure de Données :
listeCours contient des tableaux (string[]) représentant les étudiants de chaque cours.Ajout d’un Cours :
Affichage des Cours :
string.Join.Recherche d’un Étudiant :
Array.Exists est utilisé pour vérifier si un étudiant donné existe dans un tableau spécifique.Tri des Cours :
Sort est utilisée pour trier les cours par leur nombre d’étudiants.=== Gestion des Cours ===
1. Ajouter un cours
2. Afficher tous les cours
3. Rechercher un étudiant
4. Trier les cours par nombre d'étudiants
5. Quitter
Entrez votre choix : 1
Entrez le nombre d'étudiants dans le cours : 3
Entrez le nom de l'étudiant 1 : Alice
Entrez le nom de l'étudiant 2 : Bob
Entrez le nom de l'étudiant 3 : Charlie
Cours ajouté avec succès ! === Gestion des Cours ===
1. Ajouter un cours
2. Afficher tous les cours
3. Rechercher un étudiant
4. Trier les cours par nombre d'étudiants
5. Quitter
Entrez votre choix : 2
=== Liste des Cours ===
Cours 1 : Alice, Bob, Charlie Entrez votre choix : 3
Entrez le nom de l'étudiant à rechercher : Bob
L'étudiant Bob se trouve dans le cours 1. Entrez votre choix : 4
Les cours ont été triés par nombre d'étudiants. Entrez votre choix : 5
Au revoir ! Liste de Tableaux :
Flexibilité :
Méthodes Utilisées :
Array.Exists pour rechercher un élément dans un tableau.Sort pour trier les tableaux selon leur taille.Ce programme est une solution concrète pour gérer une liste de tableaux en C#. Vous pouvez l’étendre pour inclure des fonctionnalités supplémentaires comme la suppression ou la modification de cours.
Deux outils concrets pour piloter la qualité sans alourdir vos équipes Un système qualité n’avance…
Un chantier se gagne souvent avant même l’arrivée des équipes. Quand tout est clair dès…
Le mariage a du sens quand il repose sur une décision libre, mûrie et partagée.…
Une étude de cas réussie commence par une structure sûre. Ce modèle Word vous guide…
Les soft skills se repèrent vite sur une fiche, mais elles ne pèsent vraiment que…
Outil de comparaison et repérage des offres étudiantes Choisir des verres progressifs ressemble rarement à…
This website uses cookies.