Úvod do pole v PowerShell

Pole je typ datové struktury, kterou lze použít k uložení kolekce položek, kolekce položek může být stejného datového typu nebo se může lišit. K elementům v poli lze přistupovat pomocí indexu. Index pole obvykle začíná na 0, takže pro přístup k prvnímu prvku musíte použít index (0). Typicky mohou být na poli pouze dvě operace, tj. Přidání prvku do pole nebo odebrání prvku. V tomto článku se dozvíme o Array v PowerShell.

Definování pole v PowerShell

Pole lze definovat některým z následujících způsobů,

@ () Je jedním ze způsobů definování pole.

Příklad:

$Subject = @('History', 'Geo', 'Maths')

  • Pole lze také vytvořit jako seznam oddělený čárkami.

$test='testone', 'testtwo', 'testthree'

  • Pro konkrétní prvek datového typu lze vytvořit pole následujícím způsobem,

(int()) $numbersarray = 1, 2, 3, 4, 5

Výše uvedené je celočíselné pole a může obsahovat pouze celočíselné hodnoty.

Přístup k poli

Definujme pole,

Příklad:

('test1', 'test2', 'test3', 'test4')

$ test (0) vrátí test1, $ test (3) vrátí test4. Mnoho jazyků umožňuje zadat pouze jeden index, zatímco v PowerShell lze použít více indexů současně.

Ve výše uvedeném $ testu (1, 3) se vrátí,

test2

test4

Operace na poli

Přidávání položek do pole. Podívejme se na příklad, jak přidat prvek do existujícího pole.

Příklad:

('welcome', 'home')

K přidání do výše uvedeného pole se použije operátor '+ ='.

$ test + = 'Raj'

Spustí se $ test,

Vítejte

Domov

Raj

Získání počtu polí

Zde vysvětlíme, jak pomocí následujícího vstupu získat počet polí.

Vstup:

('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')

$ test.Count vrátí 6, což je počet / délka pole.

1. Třídění prvků v poli

Operátor řazení lze použít k třídění prvků pole, pokud jsou prvky stejného datového typu.

Vstup:

('oneee', 'zddsdsad', 'thraewawe')
$test |sort

Výše uvedený příkaz třídí prvky ve vzestupném pořadí

Výstup:

Vstup:

$test |sort -Descending will sort the elements in the descending order

Výstup:

2. Aktualizace položky v poli

Index lze použít k aktualizaci prvku v poli

Vstup:

('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'

Výše uvedený příkaz změní „jeden“ na „změněný“. Provede se $ test

Výstup:

3. Nalezení prvku v poli

Pro kontrolu hodnoty pole lze použít stejný operátor

Vstup:

('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"

Výstup:

Vícerozměrné pole v PowerShell

Můžeme vytvořit vícerozměrné pole následujícím způsobem,

$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)

Každé pole má jeden řádek a tři sloupce.

Opakování pole

Stejně jako v jiných jazycích lze smyčku for použít ke smyčce položek v matici.

Vstup:

('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )

Výstup :

Pro každý lze použít akci proti každé položce v poli.

Vstup:

(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)

Výstup:

Seznam polí v PowerShell

Jednou z nevýhod Array je přidání položek do ní, abychom překonali, že máme seznam polí.

Následuje syntaxe pro vytvoření seznamu polí,

$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray

První řádek je způsob, jak inicializovat seznam polí a následující řádky mají přidat položky do seznamu polí

Array vs Array List Performance

Následující příklady ukazují rozdíl ve výkonu při provádění operace na poli a seznamu polí

Vstup:

Measure-Command -Expression ( 0..250 | ForEach-Object ( $arr += $_+1 ))
$arrlit = (System.Collections.ArrayList)@()
$f arrlit _performance = Measure-Command -Expression ( 0..250 | ForEach-Object ( $ arrlit += $_+1 ))
$ arrlit _performance

První příkaz provede operaci na poli a třetí řádek provede totéž v seznamu polí.

Výstup:

  • Výkon pole

  • Výkon seznamu polí

Výkon seznamu polí je rychlejší a lepší než výkon pole.

Příklad pole v PowerShell

Následuje příklad, jak najít délku pole pomocí smyčky, smyčky foreach a while loop.

Vstup:

$testlist = 5.634, 4.512323, 3.312323, 13.2213213, 4.02324, 34.3334324, 34.04324, 45.4534324, 99.993234324, 11123234234 write-host("Printing the array elements")
$testlist
write-host("length of array")
$testlist.Length
write-host("fifth element in array")
$testlist(4) write-host("partial array")
$subList = $testlist(1..3) write-host("using for loop")
for ($i = 0; $i -le ($testlist.length - 1); $i += 1) (
$testlist($i) )
write-host("using forEach Loop")
foreach ($e in $testlist) (
$e
)
write-host("using while Loop")
$i = 0
while($i -lt 4) (
$testlist($i);
$i++
)
write-host("Assign values")
$testlist(1) = 10
$testlist

Výstup:

Hash Table

Hash tabulka se používá k implementaci strukturovaného pole. V hašovací tabulce jsou hodnoty uloženy ve formátu klíč-hodnota. Oni jsou také známí jako slovník nebo asociativní pole.

Syntax:

()

Nebo

( key1=”test1”;key2=”test2”;key3=”test3”)

Kde key1, key2 a key3 jsou klíče a test1, test2 a test3 jsou hodnoty.

Vstup :

$testhashtable

Výstup:

Ke klíči nebo hodnotám lze přistupovat pomocí operátoru .dot následujícím způsobem

Vstup:

$testhashtable.keys

Výstup:

Vstup:

$testhashtable.Values

Výstup:

Příklad

Následuje příklad k nalezení všech hashtable klíčů a hashtable hodnot.

Vstup:

$testht = @( English = "85"; Tamil = "100"; maths = "100")
write-host("Printing all the hashtable keys")
$testht.keys
write-host("Printing all the hashtable values")
$testht.values
write-host("print Size")
$testht.Count
write-host("Add key-value")
$testht("Social") = "100"
write-host("Add key-value")
$testht.Add("ss", "110")
write-host("Size")
$testht.Count
write-host("Remove English")
$testht.Remove("English")
write-host("curentSize")
$testht.Count
write-host("sortinh by key")
$testht.GetEnumerator() | Sort-Object -Property key

Výstup:

Závěr - pole v PowerShell

Hlavní výhodou pole je správa paměti. Lze k nim přistupovat přímo z mezipaměti, což pomáhá při rychlejším vyhledávání. Jsou opakovaně použitelné, jakmile je prohlášeno, mohou být opakovaně použity opakovaně.

Doporučené články

Toto je průvodce Array v PowerShell. Zde diskutujeme o zavedení a implementaci pole, seznamu polí a hashovací tabulky v PowerShell. Další informace naleznete také v následujících článcích -

  1. PowerShell vs. CMD
  2. Top 7 verzí PowerShell
  3. Výhody pole
  4. Klíčový rozdíl mezi PowerShell a Bash

Kategorie: