ArrayList vs List in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. ArrayLists in C#
  2. Elenchi in C#
  3. ArrayLists vs elenchi in C#
ArrayList vs List in C#

Questo tutorial discuterà le differenze e le somiglianze tra ArrayLists e Lists in C#.

ArrayLists in C#

La classe ArrayList viene utilizzata per dichiarare un ArrayList in C#. Un ArrayList memorizza i riferimenti agli oggetti in esso. Ciò significa che un ArrayList può memorizzare dati di più tipi di dati come intero, stringa, float, ecc. Il seguente esempio di codice ci mostra come inizializzare un ArrayList in C#.

ArrayList array1 = new ArrayList();
array1.Add(1);
array1.Add("Pony");
foreach (var x in array1) {
  Console.WriteLine(x);
}

Produzione:

1 Pony

Nel codice sopra, abbiamo creato l’istanza della classe ArrayList - array1 e abbiamo memorizzato diversi valori di diversi tipi di dati in essa.

Elenchi in C#

Gli elenchi generici vengono usati per contenere i dati per un tipo di dati specifico in C#. La classe List viene utilizzata per dichiarare una lista di un tipo di dati specifico in C#. Dobbiamo specificare il tipo di dati della nostra lista durante la dichiarazione. Il seguente esempio di codice ci mostra come inizializzare un List in C#.

List<int> list1 = new List<int>();
list1.Add(1);
list1.Add(2);
foreach (var x in list1) {
  Console.WriteLine(x);
}

Produzione:

1 2

Nel codice precedente, abbiamo creato l’istanza della classe List - list1 che contiene il tipo di dati intero e i valori interi memorizzati.

ArrayLists vs elenchi in C#

La classe List deve sempre essere preferita alla classe ArrayList a causa del sovraccarico di casting nella classe ArrayList. La classe List può salvarci dagli errori di runtime riscontrati a causa dei diversi tipi di dati degli elementi della classe ArrayList. Gli elenchi sono anche molto facili da usare con Linq. Il problema con gli elenchi di array è mostrato nel seguente esempio di codifica.

ArrayList arrayExample = new ArrayList();
arrayExample.Add(2);
arrayExample.Add("DelftStack");
int total = 0;
foreach (int num in arrayExample) {
  total += num;
}

Il codice precedente non darà alcun errore durante la compilazione quando aggiungiamo il valore DelftStack nella nostra lista di array. Ma dovremo affrontare un errore di runtime perché vogliamo lanciare il DelftStack sulla variabile intera num. Il problema può essere evitato con il semplice utilizzo di una lista invece di una lista di array.

List<int> listExample = new List<int>();
listExample.Add(1);
listExample.Add(2);
int total = 0;
foreach (int num in listExample) {
  total += num;
}

Il codice sopra verrà eseguito perfettamente senza errori. Una lista ci darebbe un errore in fase di compilazione ogni volta che proviamo ad aggiungere DelftStack alla nostra lista che contiene solo valori del tipo di dati intero.

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