PowerShell agregar a la matriz | ¿Cómo se agrega PowerShell a la matriz Works?
Introducción a PowerShell agregar a una matriz
La matriz de PowerShell es la colección de elementos de uno o diferentes tipos de datos, y el método agregar a la matriz significa agregar los nuevos elementos en el índice particular de la matriz o la lista de la matriz con los diferentes métodos como el operador más igual ( +=) o el método Add() y también las múltiples matrices con tipos de datos únicos o diferentes se pueden fusionar en una para formar una sola matriz.
Sintaxis:
1. La sintaxis del operador más igual (+=).
$array1 = @(value1, Value2, value3)
$array1 += "Value4"2. Con el método Add() de la lista de matrices.
$arr = [System.Collections.ArrayList]@('Value1', 'Value2', 'Value3')
$arr.Add('Value4')¿Cómo se agrega PowerShell a la matriz Works?
Array no solo en PowerShell sino en todos los lenguajes de programación tiene una estructura similar y funciona en la estructura de indexación.
A continuación se muestra la declaración de matriz de muestra.
Código:
$arr = @()Comprobemos su tipo.
Código:
$arr.GetType()Salida:
Muestra BaseType System.Array y el Nombre como Objeto [] significa que podemos agregar varios objetos en la matriz.
Una vez que declaramos la matriz, si necesitamos agregar los valores a la matriz, podemos usar los dos métodos siguientes.
Código:
$arr += "Hello"
$arr += "PowerShell"
$arr
Salida:
Si marcamos aquí, todos se agregan en el índice específico incrementado en uno.
Código:
$arr[0]
$arr[1]Salida:
No habrá ningún valor en el índice 2 porque aún no lo hemos agregado.
Código:
$arr[2]Salida:
Otro método que podemos usar es el método Add(), pero no se aplica a la matriz de tamaño fijo.
Código:
$arr.Add('Azure')Salida:
Las matrices de PowerShell tienen un tamaño fijo, por lo que al agregar o eliminar la matriz a la lista, destruye la matriz existente y crea una nueva, y la matriz con el tamaño fijo no permite el método Add() o Remove(); en su lugar, podemos usar los operadores += (Más igual) para agregar y -= (Menos igual) para las operaciones de agregar y eliminar.
Para comprobar si la matriz tiene un tamaño fijo.
Código:
$arr.IsFixedSizeSalida:
De manera similar, si tomamos cualquier salida de cmdlet y se almacenará como una matriz; y siempre será de un tamaño fijo.
Código:
$ser = Get-Service
$ser.GetType()
$ser.IsFixedSizeSalida:
Hay otro método con el que podemos agregar los valores a la matriz es usar ArrayList. ArrayList tiene un método de declaración diferente, como se muestra a continuación.
Código:
$arrlist = [System.Collections.ArrayList]@("Hello","PowerShell")
$arrlistSalida:
Si verificamos el tipo de esta lista de matriz, es System.Object.
Código:
$arrlist.GetType()Salida:
ArrayList permite usar el método Add() para agregar los valores a la lista de la matriz.
Código:
$arrlist.Add("Azure")Podemos agregar la salida aquí porque ArrayList no tiene un tamaño fijo.
Código:
$arrlist.IsFixedSizeSalida:
Ejemplos de PowerShell para agregar a una matriz
A continuación se muestran ejemplos de cómo agregar PowerShell a una matriz:
Ejemplo #1
Agregar valores a la matriz.
En este ejemplo, estamos agregando un animal más, "Vaca", al Array $Animals.
Código:
$Animals = @()
$Animals = "Cat" , "Dog" , "Tiger"
$Animals += "Cow"
$Animals
C:\Temp\TestPS.ps1Salida:
Ejemplo #2
Usando el operador de suma para fusionar dos matrices.
Aquí, vamos a fusionar las dos matrices en la matriz vacía usando el operador '+' (más).
Código:
$PetAnimals = @( "Cow" , "Dog" )
$WildAnimals = @( "Tiger" , "Lion" )
$Animals = @()
$Animals = $PetAnimals + $WildAnimals
$AnimalsSalida:
Ejemplo #3
Usando Arraylist para agregar el valor.
En el siguiente ejemplo, estamos creando una lista de matrices y agregando los dos valores a la lista.
Código:
$arrlist = New-Object -TypeName System.Collections.ArrayList
$arrlist.Add("One")
$arrlist.Add("Two")
$arrlistSalida:
Para agregar más valores, podemos usar el método de asignación Plus '+=' o el método Add() como se muestra a continuación.
Código:
$arrlist += "Three"
$arrlist += "Four"
$arrlistSalida:
Ejemplo #4
Usando bucle para agregar los valores de la matriz.
En este ejemplo, tendremos la lista para ingresar los datos en la matriz y usaremos un bucle foreach para agregar los valores a la matriz.
Código:
$list = "One", "Two", "Three"
$arr = @()
foreach( $item in $list ){
$arr += $item
}
$arrSalida:
Para agregar los valores a ArrayList usando el bucle foreach.
Código:
$list = "One", "Two", "Three"
$arrlist = New-Object -TypeName System.Collections.ArrayList
foreach( $item in $list ){
$arrlist.Add($item)
}
$arrlistSalida:
Ejemplo #5
Usando el método de indexación para insertar los valores en la matriz.
Supongamos que tenemos la siguiente matriz.
Código:
$arr = @("One", "Two", "Three")A continuación se muestra el índice de matriz para esta matriz declarada.
Código:
Write-Output "0th Index Value: $($arr[0])"
Write-Output "1st Index Value: $($arr[1])"
Write-Output "2nd Index Value: $($arr[2])"
Write-Output "3rd Index Value: $($arr[3])"Salida:
El tercer índice está vacío porque aún no hemos declarado nada. Entonces, cuando intentamos agregarle el valor, obtenemos el siguiente error.
Código:
$arr[3] = "four"O
Código:
$arr[3] += "four"Salida:
Porque ese índice es desconocido para la matriz o algo similar con ArrayList. La solución para este método es asignar los valores nulos al índice inicialmente, pero esto hace que la matriz con el tamaño fijo cuente.
Código:
$count = 5
$arr = @()
for($i=0; $i -lt $count; $i++){
$arr += ""
}Estamos declarando los 5 índices para la matriz y asignándole los valores en blanco, por lo que el tamaño de la matriz es 5 sin ningún valor, lo cual es su desventaja. Entonces ahora podemos asignarle valores.
Código:
$arr[0] = "One"
$arr[1] = "Two"
$arr[3] = "Four"
$arrSalida:
Tenga en cuenta que los índices 2 y 4 están vacíos. Este método no es adecuado.
Ejemplo #6
Agregar una entrada de archivo host usando una matriz de cadenas.
Este ejemplo agregará la entrada al archivo host después de recuperar la salida en la matriz de cadenas.
Código:
$hostfile = Get-Content C:\Windows\System32\drivers\etc\hosts
$hostfile += "8.8.8.8 Google.com"
$hostfile | Set-Content C:\Windows\System32\drivers\etc\hosts -ForceConclusión
Las operaciones de matriz son una parte esencial de PowerShell y, mientras trabajamos con cientos o miles de elementos, necesitamos agregar o eliminar algunos elementos de ArrayList o de una matriz y, en ese caso, podemos usar el método de operaciones de matriz para agregar el datos.



















