Arreglos multidimensionales de PowerShell
 
Una estructura de datos llamada array es una colección de elementos del mismo o diversos tipos de datos. PowerShell admite arrays que tienen una o múltiples dimensiones.
Un array multidimensional contiene múltiples dimensiones, y cada fila de una dimensión tiene el mismo número de elementos. Los elementos en un array multidimensional se almacenan en orden por filas.
Por ejemplo, en un array de 2 dimensiones, los elementos se almacenan como [0,0], [0,1], [1,0], [1,1]. Este artículo te enseñará a crear un array multidimensional en PowerShell.
Crear Arrays en PowerShell
Puedes crear un array vacío usando @(). Puedes insertar valores en los paréntesis @() para almacenarlos en un array.
$data = @()
El siguiente comando crea un array $fruits con 3 elementos. La longitud del array es fija y no se puede cambiar.
$fruits = @('Apple', 'Banana', 'Mango')
$fruits
Salida:
Apple
Banana
Mango
Aunque @() es la sintaxis correcta, puedes usar listas separadas por comas así para crear un array.
$fruits = 'Apple', 'Banana', 'Mango'
Crear Arrays Multidimensionales en PowerShell
El array anterior es un array de 1 dimensión. Esto significa que puedes acceder a sus elementos usando type[] como el siguiente ejemplo.
$fruits[2]
Salida:
Mango
Pero, un array de 2 dimensiones tiene una coma dentro de type[,]. Los elementos en un array de 2 dimensiones, $sub pueden ser accedidos usando $sub[0,0], $sub[0,1], $sub[0,2], $sub[1,0], $sub[1,1], $sub[1,2], y así sucesivamente.
Veamos un ejemplo para crear un array de 2-D de longitud 4.
$sub = New-Object 'object[,]' 2, 2
$sub[0, 0] = 'science'
$sub[0, 1] = 'maths'
$sub[1, 0] = 'english'
$sub[1, 1] = 'computer'
Llama a la variable $sub para ver los elementos:
$sub
Salida:
science
maths
english
computer
Para obtener un elemento individual:
$sub[1, 1]
Salida:
computer
Un array de 3 dimensiones tiene un tipo de dato type[,,], un array de 4 dimensiones tiene un tipo de dato type[,,,] y así sucesivamente. Puedes construir rápidamente arrays multidimensionales en PowerShell utilizando el método anterior.
