Powershell - Matriz

PowerShell proporciona una estructura de datos, la array, que almacena una colección secuencial de tamaño fijo de elementos de cualquier tipo. Una matriz se usa para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables u objetos.

En lugar de declarar variables individuales, como número0, número1, ... y número99, declaras una variable de matriz como números y usas números [0], números [1] y ..., números [99] para representar variables individuales.

Este tutorial presenta cómo declarar variables de matriz, crear matrices y procesar matrices utilizando variables indexadas.

Declaración de variables de matriz

Para usar una matriz en un programa, debe declarar una variable para hacer referencia a la matriz y puede especificar el tipo de matriz a la que la variable puede hacer referencia. Aquí está la sintaxis para declarar una variable de matriz:

Sintaxis

$A = 1, 2, 3, 4
or
$A = 1..4

Note- Por defecto, el tipo de objetos de la matriz es System.Object. El método GetType () devuelve el tipo de matriz. Se puede pasar el tipo.

Ejemplo

Los siguientes fragmentos de código son ejemplos de esta sintaxis:

[int32[]]$intA = 1500,2230,3350,4000

$A = 1, 2, 3, 4
$A.getType()

Esto producirá el siguiente resultado:

Salida

IsPublic    IsSerial    Name                        BaseType                     
--------    --------    ----                        --------                     
True        True        Object[]                    System.Array

Se accede a los elementos de la matriz a través del index. Los índices de matriz están basados ​​en 0; es decir, empiezan de 0 aarrayRefVar.length-1.

Ejemplo

La siguiente declaración declara una variable de matriz, myList, crea una matriz de 10 elementos de tipo doble y asigna su referencia a myList:

$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123

La siguiente imagen representa la matriz myList. Aquí, myList contiene diez valores dobles y los índices van de 0 a 9.

Procesamiento de matrices

Al procesar elementos de matriz, a menudo usamos for bucle o foreach bucle porque todos los elementos de una matriz son del mismo tipo y se conoce el tamaño de la matriz.

Ejemplo

Aquí hay un ejemplo completo que muestra cómo crear, inicializar y procesar matrices:

$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123

write-host("Print all the array elements")
$myList

write-host("Get the length of array")
$myList.Length

write-host("Get Second element of array")
$myList[1]

write-host("Get partial array")
$subList = $myList[1..3]

write-host("print subList")
$subList

write-host("using for loop")
for ($i = 0; $i -le ($myList.length - 1); $i += 1) {
  $myList[$i]
}

write-host("using forEach Loop")
foreach ($element in $myList) {
  $element
}

write-host("using while Loop")
$i = 0
while($i -lt 4) {
  $myList[$i];
  $i++
}

write-host("Assign values")
$myList[1] = 10
$myList

Esto producirá el siguiente resultado:

Salida

Print all the array elements
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
Get the length of array
10
Get Second element of array
4.5
Get partial array
print subList
4.5
3.3
13.2
using for loop
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
using forEach Loop
5.6
4.5
3.3
13.2
4
34.33
34
45.45
99.993
11123
using while Loop
5.6
4.5
3.3
13.2
Assign values
5.6
10
3.3
13.2
4
34.33
34
45.45
99.993
11123

Ejemplos de métodos de matrices

Aquí hay un ejemplo completo que muestra operaciones en matrices usando sus métodos

$myList = @(0..4)

write-host("Print array")
$myList

$myList = @(0..4)

write-host("Assign values")
$myList[1]  = 10
$myList

Esto producirá el siguiente resultado:

Salida

Clear array
Print array
0
1
2
3
4
Assign values
0
10
2
3
4