Учебники

Powershell — Array

PowerShell предоставляет структуру данных, массив , в котором хранится последовательная коллекция фиксированного размера элементов любого типа. Массив используется для хранения коллекции данных, но часто более полезно думать о массиве как о коллекции переменных или объектов.

Вместо того, чтобы объявлять отдельные переменные, такие как number0, number1, … и number99, вы объявляете одну переменную массива, такую ​​как числа, и используете числа [0], числа [1] и …, числа [99] для представления отдельные переменные.

В этом руководстве рассказывается, как объявлять переменные массива, создавать массивы и обрабатывать массивы с использованием индексированных переменных.

Объявление переменных массива

Чтобы использовать массив в программе, вы должны объявить переменную для ссылки на массив и указать тип массива, на который может ссылаться переменная. Вот синтаксис для объявления переменной массива —

Синтаксис

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

Примечание. По умолчанию тип объектов массива — System.Object. Метод GetType () возвращает тип массива. Тип можно передать.

пример

Следующие фрагменты кода являются примерами этого синтаксиса —

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

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

Это даст следующий результат —

Выход

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

Доступ к элементам массива осуществляется через индекс . Индексы массива основаны на 0; то есть они начинаются с 0 до arrayRefVar.length-1 .

пример

Следующий оператор объявляет переменную массива myList, создает массив из 10 элементов двойного типа и присваивает его ссылку на myList —

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

Следующая картинка представляет массив myList. Здесь myList содержит десять двойных значений и индексы от 0 до 9.

Array myList

Обработка массивов

При обработке элементов массива мы часто используем цикл for или цикл foreach, поскольку все элементы в массиве относятся к одному типу, а размер массива известен.

пример

Вот полный пример, показывающий, как создавать, инициализировать и обрабатывать массивы —

$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

Это даст следующий результат —

Выход

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

Примеры методов массивов

Вот полный пример, показывающий операции над массивами с использованием его методов

$myList = @(0..4)

write-host("Print array")
$myList

$myList = @(0..4)

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

Это даст следующий результат —