Powershell - Массив
PowerShell предоставляет структуру данных, array, в котором хранится последовательная коллекция фиксированного размера элементов любого типа. Массив используется для хранения набора данных, но часто бывает полезнее думать о массиве как о коллекции переменных или объектов.
Вместо объявления отдельных переменных, таких как число0, число1, ... и число99, вы объявляете одну переменную массива, такую как числа, и используете числа [0], числа [1] и ..., числа [99] для представления отдельные переменные.
В этом руководстве рассказывается, как объявлять переменные массива, создавать массивы и обрабатывать массивы с помощью индексированных переменных.
Объявление переменных массива
Чтобы использовать массив в программе, вы должны объявить переменную для ссылки на массив, и вы можете указать тип массива, на который может ссылаться переменная. Вот синтаксис для объявления переменной массива -
Синтаксис
$A = 1, 2, 3, 4
or
$A = 1..4
Note- По умолчанию тип объектов массива - 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
Доступ к элементам массива осуществляется через index. Индексы массива начинаются с 0; то есть они начинаются с 0 доarrayRefVar.length-1.
пример
Следующий оператор объявляет переменную массива myList, создает массив из 10 элементов типа double и присваивает его ссылку 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.
Обработка массивов
При обработке элементов массива мы часто используем либо 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
Это даст следующий результат -
Вывод
Clear array
Print array
0
1
2
3
4
Assign values
0
10
2
3
4