HOWTO · Csharp

Matrice di liste in C#

Esistono due metodi principali che possono essere utilizzati per creare una matrice di liste in C#, la notazione List <T> [] e il metodo LINQ.

Questo tutorial discuterà i metodi per creare una matrice di liste in C#.

Matrice di liste con la notazione List<T>[] in C#

La notazione List<T>[] può essere utilizzata per dichiarare un array di liste di tipo T in C#. Tieni presente che questo dichiarerà solo un array di riferimenti nulli. Dobbiamo ancora inizializzare ogni lista in ogni indice della List<T>[] con la parola chiave new.

using System;
using System.Collections.Generic;

namespace array_of_lists {
  class Program {
    static void Main(string[] args) {
      List<int>[] arrayList = new List<int>[3];
      arrayList[0] = new List<int> { 1, 2, 3 };
      arrayList[1] = new List<int> { 4, 5, 6 };
      arrayList[2] = new List<int> { 7, 8, 9 };
      foreach (var list in arrayList) {
        foreach (var element in list) {
          Console.WriteLine(element);
        }
      }
    }
  }
}

Produzione:

1 2 3 4 5 6 7 8 9

Nel codice precedente, abbiamo dichiarato e inizializzato l’array di liste arrayList contenente valori interi con la notazione List<T>[] e la parola chiave new in C#. L’approccio di cui sopra va bene per piccoli array. Tuttavia, se disponiamo di un array di grandi dimensioni, questo approccio può diventare molto laborioso e può richiedere molto codice. Questo approccio è adatto solo per array con una lunghezza inferiore.

Matrice di liste con il metodo LINQ in C#

LINQ viene utilizzato per integrare la funzionalità di query con le strutture dati in C#. Possiamo usare LINQ per dichiarare e inizializzare un array di liste in C#.

using System;
using System.Collections.Generic;

namespace array_of_lists {
  class Program {
    static void Main(string[] args) {
      List<int>[] arrayList = new List<int> [3].Select(item => new List<int> { 1, 2, 3 }).ToArray();
      foreach (var list in arrayList) {
        foreach (var element in list) {
          Console.WriteLine(element);
        }
      }
    }
  }
}

Produzione:

1 2 3 1 2 3 1 2 3

Nel codice precedente, abbiamo dichiarato e inizializzato l’array di liste arrayList contenente valori interi con la notazione List<T>[] e la parola chiave new in C#. Questo metodo è meno laborioso rispetto all’esempio precedente per array più grandi, quindi è più adatto per array con una lunghezza maggiore.