Arrays Multidimensionais do PowerShell

Uma estrutura de dados chamada array
é uma coleção de elementos do mesmo ou de vários tipos de dados. O PowerShell suporta arrays com uma ou múltiplas dimensões.
Um array multidimensional contém múltiplas dimensões, e cada linha de uma dimensão tem o mesmo número de elementos. Os elementos em um array multidimensional são armazenados em ordem de linha.
Por exemplo, em um array 2-dimensional
, os elementos são armazenados como [0,0]
, [0,1]
, [1,0]
, [1,1]
. Este artigo irá ensiná-lo a criar um array multidimensional no PowerShell.
Criar Arrays no PowerShell
Você pode criar um array vazio
usando @()
. Você pode inserir valores nos parênteses @()
para armazená-los em um array.
$data = @()
O comando a seguir cria um array $fruits
com 3 elementos. O comprimento do array é fixo e não pode ser alterado.
$fruits = @('Apple', 'Banana', 'Mango')
$fruits
Saída:
Apple
Banana
Mango
Embora @()
seja a sintaxe adequada, você pode usar listas separadas por vírgulas assim para criar um array
.
$fruits = 'Apple', 'Banana', 'Mango'
Criar Arrays Multidimensionais no PowerShell
O array acima é um array 1-dimensional
. Isso significa que você pode acessar seus elementos usando type[]
, como no exemplo a seguir.
$fruits[2]
Saída:
Mango
Mas um array 2-dimensional tem uma vírgula dentro de type[,]
. Os elementos em um array 2-dimensional
, $sub
podem ser acessados usando $sub[0,0]
, $sub[0,1]
, $sub[0,2]
, $sub[1,0]
, $sub[1,1]
, $sub[1,2]
e assim por diante.
Vamos ver um exemplo para criar um array 2-D
de comprimento 4
.
$sub = New-Object 'object[,]' 2, 2
$sub[0, 0] = 'science'
$sub[0, 1] = 'maths'
$sub[1, 0] = 'english'
$sub[1, 1] = 'computer'
Chame a variável $sub
para visualizar os elementos:
$sub
Saída:
science
maths
english
computer
Para obter um elemento individual:
$sub[1, 1]
Saída:
computer
Um array 3-dimensional tem um tipo de dado type[,,]
, um array 4-dimensional tem um tipo de dado type[,,,]
e assim por diante. Você pode construir rapidamente arrays multidimensionais no PowerShell utilizando o método acima.