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

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:
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:
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:
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:
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.
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