Aggiungi alla matrice in C#

  1. Ridimensionare una matrice con elenchi in C
  2. Ridimensionare un array con il metodo Array.Resize() 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 un elenco con la funzione ToList() in C#. Possiamo quindi aggiungere più valori all’elenco con la funzione List.Add() e riconvertire l’elenco 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 dell’elenco anziché la struttura dati dell’array.

Articolo correlato - Csharp Array

  • Mescola un array in C#
  • Stampa array in C#