Dichiarare una lista multidimensionale in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Dichiarare una lista 2D con List<List<T>> in C#
  2. Dichiarare una lista multidimensionale con una lista di classi in C#
  3. Dichiarare una lista multidimensionale con una lista di tuple in C#
Dichiarare una lista multidimensionale in C#

In questo tutorial, discuteremo dei metodi per dichiarare una lista multidimensionale in C#.

Dichiarare una lista 2D con List<List<T>> in C#

Sfortunatamente, non esiste un metodo predefinito per dichiarare una lista multidimensionale in C#. Quindi, per raggiungere questo obiettivo, dobbiamo fare affidamento su alcuni approcci definiti dall’utente. Possiamo dichiarare una lista di liste con la notazione List<List<T>> in C#, dove T specifica il tipo di variabili all’interno della lista. Il seguente esempio di codice ci mostra come possiamo dichiarare una lista 2D con la notazione List<List<T>> in 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();
      }
    }
  }

Produzione:

Person Description Person Description Person Description

Abbiamo dichiarato una lista 2D Person di variabili stringa con la notazione List<List<string>> in C#. Per inserire i dati nell’lista, dobbiamo memorizzare i dati in un altro lista di variabili string e quindi aggiungere quell’oggetto all’lista Person con la funzione Person.Add(). Produciamo l’lista con un bucle annidato. Lo svantaggio di questo metodo è che funziona solo per array 2D e possiamo contenere solo elementi di 1 tipo di dati.

Dichiarare una lista multidimensionale con una lista di classi in C#

Se vogliamo creare una lista di più tipi di dati, possiamo dichiarare una lista di oggetti di classe in C#. Come sappiamo, una classe può contenere più variabili di diversi tipi di dati. L’esempio di codice seguente mostra come dichiarare una lista 2D creando una lista di oggetti in 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);
      }
    }
  }

Produzione:

Person Description Person Description Person Description

Abbiamo dichiarato una lista 2D People creando una lista di classi Person in C#. Per inserire i dati nella lista, dobbiamo memorizzare i dati in un oggetto della classe Person e poi aggiungere quell’oggetto alla lista People con la funzione People.Add(). Con questo approccio, possiamo avere più elementi di diversi tipi di dati nell’lista.

Dichiarare una lista multidimensionale con una lista di tuple in C#

Se vogliamo utilizzare più tipi di dati nella nostra lista ma non vogliamo creare una classe separata per memorizzare tutte le variabili, possiamo anche dichiarare una lista di tuple. Possiamo dichiarare una lista di tuple con la notazione List<(T1, T2)> in C#, dove T1 e T2 sono rispettivamente i tipi di dati del primo e del secondo elemento della tupla.

L’esempio di codice seguente mostra come dichiarare una lista multidimensionale con una lista di tuple in 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);
      }
    }
  }

Produzione:

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

Abbiamo dichiarato una lista di tuple Person con la notazione List<(string, string)> in C#. Inseriamo i dati nell’lista Person sotto forma di tuple e li visualizziamo con un bucle 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

Articolo correlato - Csharp List