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