TÓPICO
    about_Arrays

DESCRIÇÃO RESUMIDA
    Descreve uma estrutura de dados compacta para armazenar elementos de dados

DESCRIÇÃO LONGA
    Uma matriz é uma estrutura de dados para armazenar um conjunto de 
    elementos de dados do mesmo tipo. O Windows PowerShell oferece 
    suporte a elementos de dados, como string, int (números inteiros 
    de 32 bits), long (números inteiros de 64 bits), bool (Booleano), 
    byte e outros tipos de objetos Microsoft .NET Framework. 

CRIANDO E INICIALIZANDO UMA MATRIZ
    Para criar e inicializar uma matriz, atribua vários valores a uma 
    variável.
    Os valores armazenados na matriz são delimitados por uma vírgula 
    e separados do nome da variável pelo operador de atribuição (=). 

    Por exemplo, para criar uma matriz chamada $A que contenha os 
    sete valores numéricos (int) 22, 5, 10, 8, 12, 9 e 80, digite:

        $A = 22,5,10,8,12,9,80

    Você também pode criar e inicializar uma matriz usando o operador de 
    intervalo (..). Por exemplo, para criar e inicializar uma matriz 
    chamada "$B" que contenha os valores de 5 a 8, digite:

        $B = 5..8

    Como resultado, $B contém quatro valores: 5, 6, 7 e 8.

    Quando nenhum tipo de dados for especificado, o Windows PowerShell
    criará cada matriz como uma matriz de objetos (digite: object []).
    Para determinar o tipo dos dados de uma matriz, use o método GetType(). 
    Por exemplo, para descobrir o tipo de dados da matriz $a, digite:

        $a.gettype()

    Para criar uma matriz de um tipo forte, isto é, uma matriz que 
    possa conter apenas valores de um tipo específico, converta a 
    variável como um tipo de matriz, como string[], long[] ou 
    int32[]. Para converter uma matriz, coloque antes do nome da 
    variável um tipo de matriz entre colchetes. Por exemplo, para 
    criar uma matriz de números inteiros de 32 bits chamada $ia que 
    contenha quatro inteiros (1500, 2230, 3350 e 4000), digite:

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

    Como resultado, a matriz $ia pode conter apenas números inteiros.

    Você pode criar matrizes que são convertidas em qualquer tipo 
    compatível no Microsoft .NET Framework. Por exemplo, os objetos que Get-Process 
    recupera para representar processos são do tipo System.Diagnostics.Pro
    cess. Para criar uma matriz de um tipo forte de objetos de processo, 
    digite o seguinte comando:

        [Diagnostics.Process[]]$zz = Get-Process

    Você pode popular uma matriz usando a saída de um cmdlet, de uma 
    função ou de uma instrução. Por exemplo, a seguinte instrução cria uma 
    matriz que contém os processos que começam com as letras "co" e que 
    estão em execução no computador atual:

        $LocalProcesses = get-process co*

    Se a instrução obtiver apenas um único processo, a variável 
    $LocalProcesses não será uma matriz. Para assegurar que o comando 
    crie uma matriz, use o operador de subexpressão de matriz, @, conforme 
    mostrado no seguinte exemplo:

        $LocalProcesses = @(get-process co*)

    Até mesmo se o comando retornar um único processo, a variável 
    $LocalProcesses é uma matriz. Até mesmo se ele tiver um só membro, 
    você poderá tratá-lo como qualquer outra matriz. Por exemplo, 
    você pode adicionar outros objetos a ele. Para obter mais 
    informações, consulte about_Operators.

 
LENDO UMA MATRIZ
    Você pode se referir a uma matriz usando o nome de sua variável, 
    como $A ou $a. O Windows PowerShell não diferencia maiúsculas de 
    minúsculas.

    Para exibir todos os elementos na matriz, digite o nome da matriz.  
    Por exemplo:

	$a

    Você pode se referir aos elementos de uma matriz usando um índice, 
    começando na posição 0. Coloque o número do índice entre colchetes. 
    Por exemplo, para exibir o primeiro elemento da matriz $a, digite:

        $a[0]

    Para exibir o terceiro elemento da matriz $a, digite:

        $a[2]

    Números negativos são contados a partir do final da matriz. Por 
    exemplo, "-1" se refere ao último elemento da matriz. Para exibir 
    os últimos três elementos da matriz, digite:

        $a[-3..-1]

    No entanto, seja cauteloso ao usar essa notação.

        $a[0..-2]

    Esse comando não se refere a todos os elementos da matriz, com exceção do último.
    Refere-se ao primeiro, último e segundo ao último elementos da matriz.
   
    Você pode usar o operador de intervalo para exibir um subconjunto 
    de todos os valores de uma matriz. Por exemplo, para exibir os 
    elementos de dados nas posições de índice de 1 a 3, digite:

        $a[1..3]

    Você pode usar o operador de adição (+) para combinar um 
    intervalo com uma lista de elementos em uma matriz. Por exemplo, 
    para exibir os elementos nas posições de índice 0, 2 e 4 a 6, digite:

        $a[0,2+4..6]

    Para determinar quantos itens há em uma matriz, combine o 
    intervalo com a propriedade de tamanho de uma matriz. Por 
    exemplo, para exibir os elementos das posições de índice de 2 até 
    o final da matriz, digite:

        $a[2..($a.length-1)]

    O tamanho é definido como -1 porque o índice começa na posição 0. 
    Portanto, em uma matriz de três elementos (1,2,3), o índice do 
    terceiro elemento é 2, um a menos que o tamanho da matriz.


    Você também pode usar construções de loop, como loops Foreach, 
    For e While, para se referir aos elementos de uma matriz. Por 
    exemplo, para usar um loop Foreach para exibir os elementos na 
    matriz $a, digite: 

        foreach ($element in $a) {$element}

    O loop Foreach itera na matriz, retornando cada valor, até 
    atingir o fim dela.

    O loop For é útil quando você está aumentando contadores ao 
    examinar os elementos de uma matriz. Por exemplo, para retornar 
    valores alternados de uma matriz usando um loop For, digite:

        for ($i = 0; $i -le ($a.length - 1); $i += 2) {$a[$i]}

    Você pode usar um loop While para exibir os elementos de uma 
    matriz até que uma condição definida não seja mais verdadeira. 
    Por exemplo, para exibir os elementos da matriz $a enquanto o 
    índice da matriz for menor que 4, digite:

        $i=0
        while($i -lt 4) {$a[$i]; $i++}

    Para saber mais sobre as propriedades e os métodos de uma matriz, 
    como a propriedade Length e o método SetValue, use o parâmetro 
    InputObject do cmdlet Get-Member. Quando você canaliza uma matriz 
    para Get-Member, ele exibe informações sobre os objetos da 
    matriz. Quando você usa o parâmetro InputObject, ele exibe 
    informações sobre a matriz. 

    Para encontrar as propriedades e os métodos da matriz $a, digite:

	get-member -inputobject $a


MANIPULANDO UMA MATRIZ
    Você pode alterar os elementos de uma matriz, adicionar um 
    elemento a uma matriz e combinar os valores de duas matrizes em 
    uma terceira.

    Para alterar o valor de um elemento específico de uma matriz, 
    especifique o nome da matriz e o índice do elemento que deseja 
    alterar e use o operador de atribuição (=) para especificar um 
    novo valor para o elemento. Por exemplo, para alterar o valor do 
    segundo item da matriz $a (posição de índice 1) para 10, digite:

        $a[1] = 10

    Você também pode usar o método SetValue de uma matriz para 
    alterar um valor. O exemplo a seguir altera o segundo valor 
    (posição de índice 1) da matriz $a para 500:

        $a.SetValue(500,1)

    Você também pode acrescentar um elemento a uma matriz existente 
    usando o operador +=.
    Esse operador adiciona a um valor existente. Quando o operador é 
    usado em um elemento de uma matriz, ele aumenta o valor do 
    elemento. Quando o operador é usado na própria matriz, ele 
    acrescenta o valor. Por exemplo, para acrescentar um elemento com 
    um valor igual a 200 à matriz $a, digite:

        $a += 200

    Não é fácil excluir elementos de uma matriz, mas você pode criar 
    uma nova matriz que contenha apenas elementos selecionados de uma 
    matriz existente. Por exemplo, para criar a matriz $t com todos 
    os elementos na matriz $a, com exceção do valor na posição de 
    índice 2, digite:

        $t = $a[0,1 + 3..($a.length - 1)]

    Para combinar duas matrizes em uma única, use o operador de 
    adição (+). O exemplo a seguir cria duas matrizes, combina ambas 
    e exibe a matriz combinada resultante.

        $x = 1,3
        $y = 5,9
        $z = $x + $y

    Como resultado, a matriz $z contém 1, 3, 5 e 9.

    Para excluir uma matriz, use o cmdlet Remove-Item para excluir a 
    variável que contém a matriz. O seguinte comando especifica o 
    elemento "a" na unidade Variable: 

        remove-item variable:a

    (Para obter mais informações sobre a unidade Variable:, 
    consulte o tópico da Ajuda Provedor de variável.)


CONSULTE TAMBÉM
    about_Assignment_Operators
    about_Hash_Tables
    about_Operators
    about_For
    about_Foreach
    about_While




Sumário