Aggiungi alla matrice in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Ridimensionare una matrice con elenchi in C#
  2. Ridimensionare un array con il metodo Array.Resize() in C#
Aggiungi alla matrice in C#

Questo tutorial introdurrà metodi per aggiungere elementi a un array in C#.

Ridimensionare una matrice con elenchi in C#

Sfortunatamente, per impostazione predefinita, non possiamo modificare dinamicamente la dimensione di un array. Se abbiamo un array e vogliamo aggiungere più valori allo stesso array, dobbiamo fare affidamento su alcuni approcci definiti dall’utente per ridimensionare l’array. Possiamo ridimensionare un array convertendolo prima in una lista con la funzione ToList() in C#. Possiamo quindi aggiungere più valori all’elenco con la funzione List.Add() e riconvertire la lista in un array utilizzando la funzione ToArray() in C#. L’esempio di codice seguente mostra come ridimensionare un array usando elenchi in C#.

using System;
using System.Collections.Generic;
using System.Linq;

namespace Resize_Array {
  class Program {
    static void method1() {
      string[] arr = new string[] { "Hi" };
      List<string> ls = arr.ToList();
      ls.Add("Hello");
      ls.Add("World");
      arr = ls.ToArray();
      foreach (var e in arr) {
        Console.WriteLine(e);
      }
    }
    static void Main(string[] args) {
      method1();
    }
  }
}

Produzione:

Hi Hello World

Abbiamo convertito l’array arr nella lista ls con la funzione arr.ToList(). Abbiamo aggiunto nuovi elementi a ls e lo abbiamo riconvertito in un array con la funzione ls.ToArray() in C#.

Ridimensionare un array con il metodo Array.Resize() in C#

Possiamo anche usare il metodo Array.Resize() per raggiungere lo stesso obiettivo in C#. Il metodo Array.Resize() prende il puntatore a un array come parametro e cambia la dimensione di quell’array in un numero specificato. Il seguente esempio di codice ci mostra come ridimensionare un array con la funzione Array.Resize() in C#.

using System;
using System.Collections.Generic;

namespace Resize_Array {
  class Program {
    static void method2() {
      string[] arr = new string[] { "Hi" };

      Array.Resize(ref arr, 3);
      arr[1] = "Hello";
      arr[2] = "World";
      foreach (var e in arr) {
        Console.WriteLine(e);
      }
    }
    static void Main(string[] args) {
      method2();
    }
  }
}

Produzione:

Hi Hello World

Abbiamo ridimensionato l’array arr con il metodo Array.Resize() in C#. Abbiamo passato il riferimento a arr e la dimensione desiderata di arr nei parametri del metodo Array.Resize(). Abbiamo aggiunto nuovi elementi all’array arr e mostrato l’array all’utente.

Entrambi i metodi discussi sopra possono essere utilizzati per aggiungere elementi a un array. Tuttavia, per l’allocazione dinamica della memoria, è necessario utilizzare la struttura dati della lista anziché la struttura dati dell’array.

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 Array