РАЗДЕЛ
    about_Arrays

КРАТКОЕ ОПИСАНИЕ
    Описание компактной структуры размещения элементов данных

ПОЛНОЕ ОПИСАНИЕ
    Массив представляет собой структуру данных для хранения набора 
    элементов данных одного типа. Оболочка Windows PowerShell 
    поддерживает такие элементы данных, как string, int (32-разрядное 
    целое число), long (64-разрядное целое число), bool (логическое 
    значение), byte, а также другие типы объектов платформы Microsoft .NET. 

СОЗДАНИЕ И ИНИЦИАЛИЗАЦИЯ МАССИВА
    Чтобы создать и инициализировать массив, присвойте несколько значений 
    переменной.
    Значения, хранящиеся в массиве, разделяются запятой и отделены от 
    имени переменной оператором присваивания (=). 

    Например, чтобы создать и инициализировать массив с именем $A, который 
    содержит семь числовых значений (типа int), 22, 5, 10, 8, 12, 9 и 80, 
    введите следующую команду:

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

    Можно также создать и инициализировать массив, используя оператор 
    диапазона (..). Например, чтобы создать и инициализировать массив 
    с именем "$B", в котором содержатся значения от 5 до 8, введите 
    следующую команду:

        $B = 5..8

    В результате в массиве $B содержатся четыре значения: 5, 6, 7 и 8.

    Если тип данных не указан, то Windows PowerShell создает массив 
    как массив объектов (тип: object[]). Для определения типа данных 
    массива используйте метод GetType(). Например, чтобы определить 
    тип данных массива $a, введите следующую команду:

        $a.gettype()

    Для создания массива с жестко заданным типом, то есть такой массив, 
    в котором содержатся значения только определенного типа, приведите 
    переменную массива к типу, например, string[], long[] или int32[]. 
    Чтобы привести массив к типу, укажите перед именем переменной тип 
    массива в квадратных скобках. Например, чтобы создать массив 
    32-разрядных целых чисел с именем $ia, содержащий четыре числа 
    (1500, 2230, 3350 и 4000), введите следующую команду:

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

    В результате, в массиве $ia могут содержаться только 
    целочисленные значения.

    Можно создавать массивы, которые соответствуют любому типу, 
    поддерживаемому в платформе Microsoft .NET. Например, объекты, 
    которые извлекаются командлетом Get-Process и обозначают процессы, 
    принадлежат к типу System.Diagnostics.Process. Для создания массив 
    объектов процессов с жестко заданным типом, введите следующую команду:

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

    Для заполнения массива могут использоваться выходные данные 
    командлета, функции или инструкции. Например, следующая 
    инструкция создает массив, в котором содержатся запушенные на текущем 
    компьютере процессы, имена которых начинаются с букв "co".

        $LocalProcesses = get-process co*

    Если инструкция получает только один процесс, переменная 
    $LocalProcesses не будет являться массивом. Чтобы обеспечить создание 
    массива в результате выполнения команды, используйте оператор подвыражения 
    массива (@), как показано в следующем примере:

        $LocalProcesses = @(get-process co*)

    Даже если команда возвращает один процесс, переменная 
    $LocalProcesses будет являться массивом. Даже если в массиве 
    содержится только один член, его можно обрабатывать как любой 
    другой массив. Например, в массив можно добавлять другие объекты. 
    Дополнительные сведения см. в разделе about_Operators.

 
ЧТЕНИЕ МАССИВА
    Обращение к массиву происходит с помощью имени его переменной, 
    например, $A или $a. В оболочке Windows PowerShell регистр не 
    учитывается.

    Чтобы отобразить все элементы массива, введите его имя. Пример:

	$a

    Обращение к элементам массива происходит с помощью указания индекса 
    элемента, начиная с 0. Номер индекса заключается в квадратные скобки. 
    Например, чтобы отобразить первый элемент массива $a, введите 
    следующую команду:

        $a[0]

    Чтобы отобразить третий элемент массива $a, введите следующую команду:

        $a[2]

    Отрицательные величины обозначают отсчет с конца массива. 
    Например, индекс "-1" относится к последнему элементу массива. Чтобы 
    отобразить три последние элемента массива, введите следующую команду:

        $a[-3..-1]

    Однако при использовании такого обозначения необходимо соблюдать 
    осторожность.

        $a[0..-2]

    Эта команда не ссылается на все элементы массива кроме последнего.
    В этом примере задается обращение к первому, последнему и 
    предпоследнему элементу.
   
    Чтобы отобразить подмножество всех значений в массиве, можно 
    использовать оператор диапазона. Например, чтобы отобразить 
    элементы данных в позициях от 1 до 3, введите:

        $a[1..3]

    Чтобы скомбинировать обращение к диапазону элементов со списком 
    элементов массива, используйте оператор "+". Например, чтобы 
    отобразить элементы данных в позициях 0, 2, и от 4 до 6, введите 
    следующую команду:

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

    Чтобы определить количество элементов в массиве, используйте диапазон 
    совместно со свойством массива lentgh. Например, чтобы отобразить элементы 
    массива от позиции 2 до конца массива, введите следующую команду:

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

    Из длины массива вычитается единица, поскольку отсчет индекса 
    начинается с 0. Поэтому в массиве из трех элементов (1, 2 и 3) индекс 
    третьего элемента будет равен 2, что на единицу меньше, чем 
    фактическая длина массива.


    Для обращения к элементам массива можно также использовать циклические 
    конструкции, например, циклы Foreach, For и While. Например, чтобы 
    использовать цикл Foreach для отображения элементов массива $a, 
    введите следующую команду: 

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

    Цикл Foreach по очереди перебирает элементы массива и возвращает 
    их значения до тех пор, пока не дойдет до конца массива.

    Цикл For используется при увеличении счетчиков для анализа элементов 
    массива. Например, чтобы вывести все значения элементов массива с 
    помощью цикла For, введите следующую команду:

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

    Цикл While используется для отображения элементов массива до тех 
    пор, пока истинно заданное условие. Например, чтобы отобразить 
    элементы массива $a, пока индекс массива меньше 4, введите следующую 
    команду:

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

    Дополнительные сведения о свойствах и методах массива, например, 
    о свойстве Length и методе SetValue, используйте параметр InputObject 
    командлета Get-Member. При передаче массива по конвейеру командлету 
    Get-Member этот командлет выводит сведения об объектах, содержащихся 
    в массиве. При использовании параметра InputObject командлет выводит 
    сведения о массиве. 

    Для получения сведений о свойствах и методах массива $a введите 
    следующую команду:

	get-member -inputobject $a


ОПЕРАЦИИ С МАССИВОМ
    Можно изменять элементы массива, добавлять элемент к массиву, а также 
    объединять значения двух массивов в третьем массиве.

    Чтобы изменить значение конкретного элемента массива, укажите имя 
    массива и индекс элемента, который необходимо изменить, а затем 
    используйте оператор присваивания (=), чтобы указать новое значение 
    элемента. Например, чтобы установить 10 в качестве значения второго 
элемента массива $a (индекс 1), введите следующую команду:

        $a[1] = 10

    Чтобы изменить значение, можно также использовать метод массива 
    SetValue. В следующем примере второе значение массива $a (индекс 1) 
    изменяется на значение 500:

        $a.SetValue(500,1)

    Можно добавить элемент к существующему массиву с помощью 
    оператора "+=".
    С помощью этого оператора происходит добавление существующего 
    значения. Когда этот оператор используется по отношению к 
    элементу массива, он увеличивает значение элемента. Когда этот 
    оператор используется по отношению к самому массиву, то в массив 
    добавляется значение. Например, чтобы добавить элемент со 
    значением 200 в массив $a, введите следующую команду:

        $a += 200

    Удаление элементов из массива является непростой процедурой, 
    однако можно создать новый массив, который содержит только выбранные 
    элементы существующего массива. Например, чтобы создать массив $t, 
    содержащий все элементы массива $a кроме значения с индексом 2, 
    введите следующую команду:

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

    Чтобы объединить два массива в один, используйте оператор "+". В 
    следующем примере создаются два массива; они объединяются, и затем 
    отображается результирующий объединенный массив:

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

    В результате массив $z содержит значения 1, 3, 5 и 9.

    Чтобы удалить массив, используйте командлет Remove-Item для удаления 
    переменной, которая содержит массив. Следующая команда указывает 
    элемент "a" на диске Variable:. 

        remove-item variable:a

    (Чтобы получить дополнительные сведения о диске Variable:, 
    см. раздел справки "Поставщик Variable".)


СМ. ТАКЖЕ
    about_Assignment_Operators
    about_Hash_Tables
    about_Operators
    about_For
    about_Foreach
    about_While




Содержание