Como Criar um Array Vazio de Arrays no PowerShell
- Compreendendo Arrays no PowerShell
-
Como Criar um Array Vazio de Arrays no PowerShell Usando o Operador de Subexpressão de Array
@()
-
Como Criar um Array Vazio de Arrays no PowerShell Usando o Cmdlet
New-Object
Com a ClasseSystem.Collections.ArrayList
-
Como Criar um Array Vazio de Arrays no PowerShell Usando a Hashtable
@{}
- Conclusão

PowerShell, com suas versáteis capacidades de script, oferece várias maneiras de criar e manipular arrays.
Um requisito comum é criar um array vazio que possa conter outros arrays. Esse cenário geralmente surge quando você precisa organizar dados em uma estrutura multidimensional.
Neste artigo, exploraremos vários métodos para criar um array vazio de arrays no PowerShell.
Compreendendo Arrays no PowerShell
Antes de nos aprofundarmos na criação de um array vazio de arrays, é crucial entender o básico dos arrays no PowerShell. Um array no PowerShell é uma estrutura de dados que armazena uma coleção de elementos.
Esses elementos podem ser de qualquer tipo de dado, e os arrays podem redimensionar-se dinamicamente para acomodar novos elementos conforme necessário. O PowerShell fornece várias maneiras de trabalhar com arrays, incluindo criar, acessar e modificar seu conteúdo.
Aqui está um exemplo básico de como criar um array no PowerShell:
$myArray = @(1, 2, 3, 4, 5)
$myArray
Neste exemplo, $myArray
é atribuído a um array contendo cinco inteiros.
Saída:
No PowerShell, os arrays podem conter elementos de qualquer tipo, incluindo outros arrays. Um array de arrays, também conhecido como um array irregular, é uma estrutura de dados que consiste em múltiplos arrays, onde cada elemento do array principal contém outro array.
Essa estrutura permite que você armazene dados heterogêneos em um formato multidimensional, tornando mais fácil gerenciar e acessar elementos com base em diferentes critérios.
Os arrays no PowerShell são indexados a partir de zero, o que significa que o primeiro elemento é acessado usando o índice 0, o segundo elemento usando o índice 1 e assim por diante. Os arrays do PowerShell podem redimensionar-se dinamicamente, permitindo flexibilidade na gestão de dados.
Como Criar um Array Vazio de Arrays no PowerShell Usando o Operador de Subexpressão de Array @()
O operador de subexpressão de array @()
é uma ferramenta versátil no PowerShell que pode ser usada para várias operações com arrays, incluindo a criação de arrays vazios. Quando usado para criar um array vazio de arrays, ele inicializa um contêiner de array capaz de conter outros arrays como seus elementos.
Usando este operador junto com a vírgula ,
para separar os elementos, podemos construir uma estrutura de array onde cada elemento é, ele mesmo, um array.
Vamos ver um exemplo de código para ilustrar como criar um array vazio de arrays usando o operador de subexpressão de array @()
.
$arrayOfArrays = @()
Aqui, inicializamos um array vazio chamado $arrayOfArrays
usando o operador de subexpressão de array @()
. Isso cria um contêiner de array vazio capaz de conter outros arrays.
Como nenhum elemento é fornecido dentro do operador @()
, o array resultante é vazio.
Adicionando Arrays ao Array Vazio
Depois de criar o array vazio de arrays, você pode adicionar arrays individuais a ele como elementos. Isso é comumente feito usando o operador +=
, que anexa um elemento a um array existente:
$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]
Neste segmento de código, adicionamos subarrays ao $arrayOfArrays
. Para garantir que cada subarray seja tratado como um único elemento, precedemos com uma vírgula ,
.
Isso impede que o PowerShell concatene os subarrays em um único array. Cada subarray é envolto entre parênteses e separado por vírgulas.
Adicionamos três subarrays com comprimentos variados para demonstrar flexibilidade.
Finalmente, exibimos o conteúdo do $arrayOfArrays
para verificar sua estrutura e conteúdo. O PowerShell exibe o array, mostrando cada elemento como um subarray separado.
Saída do Código:
A saída demonstra que $arrayOfArrays
é, de fato, um array contendo múltiplos subarrays, cada um mantendo um conjunto distinto de valores. Isso confirma a criação bem-sucedida de um array vazio de arrays usando o operador de subexpressão de array @()
no PowerShell.
Como Criar um Array Vazio de Arrays no PowerShell Usando o Cmdlet New-Object
Com a Classe System.Collections.ArrayList
Outra abordagem que podemos usar para criar um array vazio de arrays para armazenar dados estruturados é o cmdlet New-Object
em conjunto com a classe System.Collections.ArrayList
.
A classe System.Collections.ArrayList
no PowerShell fornece uma estrutura de dados semelhante a um array flexível e dinâmica. Ao utilizar o cmdlet New-Object
, podemos instanciar uma instância desta classe para criar um array vazio.
Subsequentemente, podemos adicionar subarrays como elementos a este array de arrays. Esta abordagem permite redimensionamento dinâmico e gestão eficiente dos arrays, tornando-a adequada para vários cenários de script.
Vamos ver como podemos criar um array vazio de arrays usando esta abordagem:
$arrayOfArrays = New-Object System.Collections.ArrayList
Aqui, usamos o cmdlet New-Object
para instanciar uma nova instância da classe System.Collections.ArrayList
. Isso cria um contêiner de array vazio capaz de manter outros arrays.
A variável $arrayOfArrays
agora referencia este objeto ArrayList
vazio.
Acessando Elementos do Array de Arrays
Após criar o array vazio, agora podemos acessar e manipular seus elementos conforme necessário:
$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]
Neste segmento de código, adicionamos subarrays ao objeto $arrayOfArrays ArrayList
. Usamos o método .Add()
do objeto ArrayList
para anexar subarrays ao array.
Cada subarray é envolto entre @()
para garantir que seja tratado como um único elemento. Adicionamos três subarrays com comprimentos variados para mostrar a flexibilidade desta abordagem.
Finalmente, exibimos o conteúdo do objeto $arrayOfArrays ArrayList
para verificar sua estrutura e conteúdo. O PowerShell exibe o ArrayList
, mostrando cada elemento como um subarray separado.
Saída do Código:
A saída confirma que $arrayOfArrays
é um ArrayList
contendo múltiplos subarrays, cada um mantendo conjuntos distintos de valores. Isso demonstra a criação bem-sucedida de um array vazio de arrays usando o cmdlet New-Object
com a classe System.Collections.ArrayList
no PowerShell.
Como Criar um Array Vazio de Arrays no PowerShell Usando a Hashtable @{}
No PowerShell, hashtables (@{}
) fornecem uma maneira conveniente de armazenar pares chave-valor. Embora tipicamente usadas para pares chave-valor, também podemos utilizar hashtables para criar um array vazio de arrays associando cada chave a um array vazio.
Este método fornece uma estrutura organizacional clara para gerenciar múltiplos arrays e permite fácil acesso e manipulação dos elementos do array.
Aqui está como criar um array vazio de arrays usando a sintaxe da hashtable @{}
:
$arrayOfArrays = @{}
Adicionando Elementos ao Array de Arrays
Agora que criamos o array vazio de arrays usando a abordagem da hashtable, podemos acessar e manipular seus elementos conforme necessário:
$arrayOfArrays["Array1"] += @(1, 2, 3)
$arrayOfArrays["Array2"] += @(4, 5)
$arrayOfArrays["Array3"] += @(6, 7, 8, 9)
$arrayOfArrays
Neste segmento de código, adicionamos subarrays aos arrays vazios dentro de $arrayOfArrays
. Usamos indexação de array para acessar cada array vazio por sua chave ("Array1"
, "Array2"
, "Array3"
) e, em seguida, anexamos subarrays usando o operador +=
.
Cada subarray é envolto entre @()
para garantir que seja tratado como um único elemento.
Finalmente, exibimos o conteúdo da hashtable $arrayOfArrays
para verificar sua estrutura e conteúdo. O PowerShell exibe a hashtable, mostrando cada par chave-valor, onde os valores são arrays contendo subarrays.
Saída do Código:
A saída confirma que $arrayOfArrays
é uma hashtable contendo três chaves ("Array1"
, "Array2"
, "Array3"
), cada uma associada a um array contendo conjuntos distintos de valores.
Conclusão
Em conclusão, criar um array vazio de arrays no PowerShell oferece versatilidade e flexibilidade para gerenciar estruturas de dados complexas em tarefas de scripting e automação.
Exploramos três métodos distintos para alcançar isso: usando o operador de subexpressão de array @()
, o cmdlet New-Object
com a classe System.Collections.ArrayList
, e reaproveitando a sintaxe da hashtable @{}
. Cada método apresenta suas vantagens e considerações, atendendo a diferentes preferências e requisitos.
O operador de subexpressão de array @()
fornece uma abordagem concisa e direta, aproveitando a sintaxe nativa do PowerShell para criar arrays vazios de forma eficiente. Enquanto isso, o cmdlet New-Object
com a classe System.Collections.ArrayList
oferece capacidades de redimensionamento dinâmico e gestão, adequado para cenários que exigem frequência de manipulação de arrays.
Finalmente, reaproveitar a sintaxe da hashtable @{}
, embora não convencional, fornece simplicidade e legibilidade em determinados contextos.
Independentemente do método escolhido, dominar a criação de arrays vazios de arrays capacita os usuários do PowerShell com habilidades essenciais para desenvolver scripts robustos e automação.
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