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
.
foreach
List<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
for
for (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
.
foreach
List<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
for
for (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.
La restauration, qu’elle soit collective ou commerciale, repose sur des processus exigeants où chaque détail…
Quel que soit le contexte — association, entreprise, administration publique ou initiative personnelle — une…
Le stage est souvent le premier vrai contact de l’étudiant avec le monde professionnel. C’est…
Télécharger un modèle de fiche projet intergénérationnel dans Excel Les initiatives intergénérationnelles prennent une place…
Télécharger un Modèle Excel de fiche d’action marketing opérationnel /Fiche d’actions correctives et de remarketing…
Télécharger des modèles de plan de communication interne dans Excel, Word et PPT ⬇️ Derrière…
This website uses cookies.