Déclarer une liste multidimensionnelle en C#

Muhammad Maisam Abbas 16 février 2024
  1. Déclarer une liste 2D avec List<List<T>> en C#
  2. Déclarer une liste multidimensionnelle avec une liste de classes en C#
  3. Déclarer une liste multidimensionnelle avec une liste de tuples en C#
Déclarer une liste multidimensionnelle en C#

Dans ce didacticiel, nous allons discuter des méthodes pour déclarer une liste multidimensionnelle en C#.

Déclarer une liste 2D avec List<List<T>> en C#

Malheureusement, il n’existe pas de méthode intégrée pour déclarer une liste multidimensionnelle en C#. Donc, pour atteindre cet objectif, nous devons nous appuyer sur certaines approches définies par l’utilisateur. On peut déclarer une liste de listes avec la notation List<List<T>> en C#, où T spécifie le type de variables à l’intérieur de la liste. L’exemple de code suivant nous montre comment déclarer une liste 2D avec la notation List<List<T>> en C#.

using System;
using System.Collections.Generic;

namespace multidimensional_list {
  class Program {
    static void Main(string[] args) {
      List<List<string>> Person = new List<List<string>>();
      for (int i = 0; i < 3; i++) {
        List<string> Data = new List<string>();
        Data.Add("Person ");
        Data.Add("Description ");
        Person.Add(Data);
      }
      foreach (var list in Person) {
        foreach (var element in list) {
          Console.Write(element);
        }
        Console.WriteLine();
      }
    }
  }

Production:

Person Description Person Description Person Description

Nous avons déclaré une liste 2D Person de variables chaîne avec la notation List<List<string>> en C#. Pour saisir des données dans la liste, nous devons stocker les données dans une autre liste de variables string puis ajouter cet objet à la liste Person avec la fonction Person.Add(). Nous sortons la liste avec une boucle imbriquée. L’inconvénient de cette méthode est qu’elle ne fonctionne que pour les tableaux 2D et que nous ne pouvons contenir que des éléments d’un type de données.

Déclarer une liste multidimensionnelle avec une liste de classes en C#

Si nous voulons créer une liste de plusieurs types de données, nous pouvons déclarer une liste d’objets de classe en C#. Comme nous le savons, une classe peut contenir plusieurs variables de différents types de données. L’exemple de code suivant nous montre comment déclarer une liste 2D en créant une liste d’objets en C#.

using System;
using System.Collections.Generic;

namespace multidimensional_list {
  public class Person {
    public string Name { get; set; }
    public string Description { get; set; }
  }
  class Program {
    static void Main(string[] args) {
      List<Person> People = new List<Person>();
      for (int i = 0; i < 3; i++) {
        Person p = new Person();
        p.Name = "Person ";
        p.Description = "Description ";
        People.Add(p);
      }
      foreach (var obj in People) {
        Console.WriteLine(obj.Name);
        Console.WriteLine(obj.Description);
      }
    }
  }

Production:

Person Description Person Description Person Description

Nous avons déclaré une liste 2D People en créant une liste de classe Person en C#. Pour saisir des données dans la liste, il faut stocker les données dans un objet de la classe Person puis ajouter cet objet à la liste People avec la fonction People.Add(). Avec cette approche, nous pouvons avoir plusieurs éléments de différents types de données dans la liste.

Déclarer une liste multidimensionnelle avec une liste de tuples en C#

Si nous voulons utiliser plusieurs types de données dans notre liste mais que nous ne voulons pas créer une classe séparée pour stocker toutes les variables, nous pouvons également déclarer une liste de tuples. On peut déclarer une liste de tuples avec la notation List<(T1, T2)> en C#, où T1 et T2 sont respectivement les types de données du premier et du deuxième élément du tuple.

L’exemple de code suivant nous montre comment déclarer une liste multidimensionnelle avec une liste de tuples en C#.

using System;
using System.Collections.Generic;

namespace multidimensional_list {
  class Program {
    static void Main(string[] args) {
      List<(string, string)> Person = new List<(string, string)>();
      for (int i = 0; i < 3; i++) {
        Person.Add(("Person ", "Description "));
      }
      foreach (var list in Person) {
        Console.WriteLine(list);
      }
    }
  }

Production:

(Person, Description)(Person, Description)(Person, Description)

Nous avons déclaré une liste de tuples Person avec la notation List<(string, string)> en C#. Nous saisissons les données dans la liste Person sous forme de tuples et les affichons avec une boucle foreach.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp List