Powershell - Array

PowerShell zapewnia strukturę danych, rozszerzenie array, który przechowuje sekwencyjną kolekcję elementów dowolnego typu o stałym rozmiarze. Tablica jest używana do przechowywania zbioru danych, ale często bardziej przydatne jest myślenie o tablicy jako o zbiorze zmiennych lub obiektów.

Zamiast deklarować pojedyncze zmienne, takie jak liczba0, liczba1, ... i liczba99, deklarujesz jedną zmienną tablicową, taką jak liczby, i używasz liczb [0], liczb [1] i ..., liczb [99] do reprezentowania indywidualne zmienne.

W tym samouczku przedstawiono sposób deklarowania zmiennych tablicowych, tworzenia tablic i przetwarzania tablic przy użyciu zmiennych indeksowanych.

Deklarowanie zmiennych tablicowych

Aby użyć tablicy w programie, należy zadeklarować zmienną odwołującą się do tablicy i określić typ tablicy, do której zmienna może się odwoływać. Oto składnia deklarowania zmiennej tablicowej -

Składnia

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

Note- Domyślnym typem obiektów tablicy jest System.Object. Metoda GetType () zwraca typ tablicy. Typ można przekazać.

Przykład

Poniższe fragmenty kodu są przykładami takiej składni -

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

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

To da następujący wynik -

Wynik

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

Dostęp do elementów tablicy uzyskuje się za pośrednictwem index. Indeksy tablicowe są oparte na 0; to znaczy, zaczynają się od 0 doarrayRefVar.length-1.

Przykład

Następująca instrukcja deklaruje zmienną tablicową myList, tworzy tablicę 10 elementów typu double i przypisuje jej odwołanie do myList -

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

Poniższy rysunek przedstawia tablicę myList. Tutaj myList zawiera dziesięć podwójnych wartości, a indeksy wynoszą od 0 do 9.

Przetwarzanie tablic

Podczas przetwarzania elementów tablic często używamy obu for pętla lub foreach pętli, ponieważ wszystkie elementy w tablicy są tego samego typu i znany jest rozmiar tablicy.

Przykład

Oto kompletny przykład pokazujący, jak tworzyć, inicjować i przetwarzać tablice -

$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

To da następujący wynik -

Wynik

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

Przykłady metod tablicowych

Oto kompletny przykład pokazujący operacje na tablicach przy użyciu jej metod

$myList = @(0..4)

write-host("Print array")
$myList

$myList = @(0..4)

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

To da następujący wynik -

Wynik

Clear array
Print array
0
1
2
3
4
Assign values
0
10
2
3
4