Come creare un array vuoto di array in PowerShell

  1. Comprendere gli Array in PowerShell
  2. Come Creare un Array Vuoto di Array in PowerShell Utilizzando l’Operatore di Sottoespressione @()
  3. Come Creare un Array Vuoto di Array in PowerShell Utilizzando il Cmdlet New-Object con la Classe System.Collections.ArrayList
  4. Come Creare un Array Vuoto di Array in PowerShell Utilizzando la Hashtable @{}
  5. Conclusione
Come creare un array vuoto di array in PowerShell

PowerShell, con le sue versatili capacità di scripting, offre diversi modi per creare e manipolare gli array.

Una richiesta comune è creare un array vuoto che possa contenere altri array. Questo scenario si presenta spesso quando è necessario organizzare i dati in una struttura multidimensionale.

In questo articolo, esploreremo vari metodi per creare un array vuoto di array in PowerShell.

Comprendere gli Array in PowerShell

Prima di addentrarci nella creazione di un array vuoto di array, è cruciale comprendere le basi degli array in PowerShell. Un array in PowerShell è una struttura dati che memorizza una raccolta di elementi.

Questi elementi possono essere di qualsiasi tipo di dato e gli array possono ridimensionarsi dinamicamente per accogliere nuovi elementi secondo necessità. PowerShell fornisce diversi modi per lavorare con gli array, inclusa la creazione, l’accesso e la modifica dei loro contenuti.

Ecco un esempio base di creazione di un array in PowerShell:

$myArray = @(1, 2, 3, 4, 5)
$myArray

In questo esempio, a $myArray viene assegnato un array contenente cinque interi.

Output:

Array in PowerShell

In PowerShell, gli array possono contenere elementi di qualsiasi tipo, inclusi altri array. Un array di array, noto anche come array irregolare, è una struttura dati che consiste in più array, dove ogni elemento dell’array principale contiene un altro array.

Questa struttura consente di memorizzare dati eterogenei in un formato multidimensionale, rendendo più facile gestire e accedere agli elementi in base a criteri diversi.

Gli array in PowerShell sono indicizzati a zero, il che significa che il primo elemento viene accesso utilizzando l’indice 0, il secondo elemento utilizzando l’indice 1, e così via. Gli array di PowerShell possono ridimensionarsi dinamicamente, consentendo flessibilità nella gestione dei dati.

Come Creare un Array Vuoto di Array in PowerShell Utilizzando l’Operatore di Sottoespressione @()

L’operatore di sottoespressione @() è uno strumento versatile in PowerShell che può essere utilizzato per varie operazioni sugli array, inclusa la creazione di array vuoti. Quando viene utilizzato per creare un array vuoto di array, inizializza un contenitore di array in grado di contenere altri array come suoi elementi.

Utilizzando questo operatore insieme alla virgola , per separare gli elementi, possiamo costruire una struttura di array in cui ogni elemento è un array a sé stante.

Vediamo un esempio di codice per illustrare come creare un array vuoto di array utilizzando l’operatore di sottoespressione @().

$arrayOfArrays = @()

Qui, inizializziamo un array vuoto chiamato $arrayOfArrays utilizzando l’operatore di sottoespressione @(). Questo crea un contenitore di array vuoto in grado di contenere altri array.

Poiché non vengono forniti elementi all’interno dell’operatore @(), l’array risultante è vuoto.

Aggiunta di Array all’Array Vuoto

Una volta creato l’array vuoto di array, puoi aggiungere singoli array come elementi. Questo viene comunemente fatto utilizzando l’operatore +=, che aggiunge un elemento a un array esistente:

$arrayOfArrays += , (1, 2, 3)
$arrayOfArrays += , (4, 5)
$arrayOfArrays += , (6, 7, 8, 9)

Write-Host "First Array:"
$arrayOfArrays[0]

Write-Host "Second Array:"
$arrayOfArrays[1]

Write-Host "Third Array:"
$arrayOfArrays[2]

In questo segmento di codice, aggiungiamo sottoarray a $arrayOfArrays. Per garantire che ogni sottoarray venga trattato come un singolo elemento, lo precediamo con una virgola ,.

Questo impedisce a PowerShell di concatenare i sottoarray in un unico array. Ogni sottoarray è racchiuso tra parentesi e separato da virgole.

Aggiungiamo tre sottoarray di lunghezze variabili per dimostrare la flessibilità.

Infine, visualizziamo il contenuto di $arrayOfArrays per verificare la sua struttura e il suo contenuto. PowerShell restituisce l’array, mostrando ogni elemento come un sottoarray separato.

Output del Codice:

Array vuoto di array in PowerShell usando @()

L’output dimostra che $arrayOfArrays è infatti un array contenente più sottoarray, ognuno dei quali contiene un insieme distinto di valori. Questo conferma la creazione riuscita di un array vuoto di array utilizzando l’operatore di sottoespressione @() in PowerShell.

Come Creare un Array Vuoto di Array in PowerShell Utilizzando il Cmdlet New-Object con la Classe System.Collections.ArrayList

Un altro approccio che possiamo utilizzare per creare un array vuoto di array per memorizzare dati strutturati è il cmdlet New-Object in congiunzione con la classe System.Collections.ArrayList.

La classe System.Collections.ArrayList in PowerShell fornisce una struttura dati simile a un array flessibile e dinamica. Utilizzando il cmdlet New-Object, possiamo istanziare un’istanza di questa classe per creare un array vuoto.

Successivamente, possiamo aggiungere sottoarray come elementi a questo array di array. Questo approccio consente il ridimensionamento dinamico e una gestione efficiente degli array, rendendolo adatto a vari scenari di scripting.

Vediamo come possiamo creare un array vuoto di array utilizzando questo approccio:

$arrayOfArrays = New-Object System.Collections.ArrayList

Qui, utilizziamo il cmdlet New-Object per istanziare una nuova istanza della classe System.Collections.ArrayList. Questo crea un contenitore di array vuoto in grado di contenere altri array.

La variabile $arrayOfArrays ora fa riferimento a questo oggetto ArrayList vuoto.

Accesso agli Elementi dell’Array di Array

Dopo aver creato l’array vuoto, possiamo ora accedere e manipolare i suoi elementi secondo necessità:

$arrayOfArrays.Add(@(11, 12, 13))
$arrayOfArrays.Add(@(14, 15))
$arrayOfArrays.Add(@(16, 17, 18, 19))

Write-Host "First Array:"
$arrayOfArrays[0]

Write-Host "Second Array:"
$arrayOfArrays[1]

Write-Host "Third Array:"
$arrayOfArrays[2]

In questo segmento di codice, aggiungiamo sottoarray all’oggetto $arrayOfArrays ArrayList. Utilizziamo il metodo .Add() dell’oggetto ArrayList per aggiungere sottoarray all’array.

Ogni sottoarray è racchiuso all’interno di @() per garantire che venga trattato come un singolo elemento. Aggiungiamo tre sottoarray di lunghezze variabili per mostrare la flessibilità di questo approccio.

Infine, visualizziamo il contenuto dell’oggetto $arrayOfArrays ArrayList per verificare la sua struttura e il suo contenuto. PowerShell restituisce l’ArrayList, mostrando ogni elemento come un sottoarray separato.

Output del Codice:

Array vuoto di Array in PowerShell utilizzando New-Object con System.Collections.ArrayList

L’output conferma che $arrayOfArrays è un ArrayList contenente più sottoarray, ognuno dei quali contiene insiemi distinti di valori. Questo dimostra la creazione riuscita di un array vuoto di array utilizzando il cmdlet New-Object con la classe System.Collections.ArrayList in PowerShell.

Come Creare un Array Vuoto di Array in PowerShell Utilizzando la Hashtable @{}

In PowerShell, le hashtable (@{}) forniscono un modo conveniente per memorizzare coppie chiave-valore. Sebbene generalmente utilizzate per coppie chiave-valore, possiamo anche utilizzare le hashtable per creare un array vuoto di array associando ciascuna chiave a un array vuoto.

Questo metodo fornisce una chiara struttura organizzativa per gestire più array e consente un facile accesso e manipolazione degli elementi dell’array.

Ecco come creare un array vuoto di array utilizzando la sintassi della hashtable @{}:

$arrayOfArrays = @{}

Aggiunta di Elementi all’Array di Array

Ora che abbiamo creato l’array vuoto di array utilizzando l’approccio della hashtable, possiamo accedere e manipolare i suoi elementi secondo necessità:

$arrayOfArrays["Array1"] += @(1, 2, 3)
$arrayOfArrays["Array2"] += @(4, 5)
$arrayOfArrays["Array3"] += @(6, 7, 8, 9)
$arrayOfArrays

In questo segmento di codice, aggiungiamo sottoarray agli array vuoti all’interno di $arrayOfArrays. Utilizziamo l’indicizzazione dell’array per accedere a ciascun array vuoto tramite la sua chiave ("Array1", "Array2", "Array3") e quindi aggiungiamo sottoarray utilizzando l’operatore +=.

Ogni sottoarray è racchiuso all’interno di @() per garantire che venga trattato come un singolo elemento.

Infine, visualizziamo il contenuto della hashtable $arrayOfArrays per verificare la sua struttura e il suo contenuto. PowerShell restituisce la hashtable, mostrando ciascuna coppia chiave-valore, dove i valori sono array contenenti sottoarray.

Output del Codice:

Array vuoto di array in PowerShell usando @{}

L’output conferma che $arrayOfArrays è una hashtable contenente tre chiavi ("Array1", "Array2", "Array3"), ciascuna associata a un array contenente insiemi distinti di valori.

Conclusione

In conclusione, creare un array vuoto di array in PowerShell offre versatilità e flessibilità per gestire strutture dati complesse in compiti di scripting e automazione.

Abbiamo esplorato tre metodi distinti per conseguirlo: utilizzando l’operatore di sottoespressione @(), il cmdlet New-Object con la classe System.Collections.ArrayList, e riproponendo la sintassi della hashtable @{}. Ogni metodo presenta vantaggi e considerazioni, adattandosi a diverse preferenze e requisiti.

L’operatore di sottoespressione @() fornisce un approccio conciso e diretto, sfruttando la sintassi nativa di PowerShell per creare rapidamente array vuoti. Nel frattempo, il cmdlet New-Object con la classe System.Collections.ArrayList offre capacità di ridimensionamento dinamico e gestione, adatto a scenari che richiedono frequenti manipolazioni degli array.

Infine, riproponendo la sintassi della hashtable @{}, sebbene non convenzionale, fornisce semplicità e leggibilità in determinati contesti.

Indipendentemente dal metodo scelto, padroneggiare la creazione di array vuoti di array fornisce agli utenti di PowerShell competenze essenziali per sviluppare script robusti e automazioni.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Autore: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Articolo correlato - PowerShell Array