Massiiv PowerShellis - PowerShelli massiivi täielik juhend koos näitega

Lang L: none (table-of-contents):

Anonim

PowerShelli massiivi tutvustus

Massiiv on teatud tüüpi andmestruktuur, mida saab kasutada üksuste kogu talletamiseks, üksuste kogum võib olla sama andmetüübiga või erinev. Massiivi elementidele pääseb juurde indeksi abil. Massiivi indeks algab tavaliselt 0-st, nii et esimese elemendi juurde pääsemiseks peate kasutama indeksit (0). Tavaliselt saab massiivil olla ainult kaks toimingut, st massiivi elemendi lisamine või elemendi eemaldamine. Selles artiklis õpime tundma PowerShelli massiivi.

Massiivi määratlemine PowerShellis

Massiivi saab määratleda ühel järgmistest viisidest,

@ () On üks massiivi määratlemise viise.

Näide:

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

  • Massiivi saab luua ka komaeraldusega loendina.

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

  • Konkreetse andmetüübi elemendi jaoks saab massiivi luua järgmiselt:

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

Ülaltoodud on täisarvuline massiiv ja see mahutab ainult täisarvu väärtusi.

Juurdepääs massiivile

Määratlegem massiiv,

Näide:

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

$ test (0) tagastab testi1, $ test (3) tagastab testi4. Paljud keeled võimaldavad määratleda ainult ühe indeksi, samas kui PowerShellis saab korraga kasutada mitut indeksit.

Ülaltoodud $ testis (1, 3) naaseb,

test2

test4

Operatsioonid massiivil

Üksuste lisamine massiivi. Vaatame näidet, kuidas elementi olemasolevale massiivile lisada.

Näide:

('welcome', 'home')

Ülaltoodud massiivi lisamiseks kasutatakse operaatorit + =.

$ test + = 'Raj'

Jooksva dollari test naaseb,

Tere tulemast

Kodu

Raj

Massiivi arvu saamine

Siin selgitame, kuidas kasutada järgmist sisendit massiivi arvu saamiseks.

Sisend:

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

$ test.Count tagastab 6, mis on massiivi arv / pikkus.

1. Elementide sortimine massiivis

Sorteerimisoperaatori abil saab massiivi elemente sortida, kui elemendid on sama andmetüübiga.

Sisend:

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

Ülaltoodud käsk sorteerib elemendid kasvavas järjekorras

Väljund:

Sisend:

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

Väljund:

2. Massiivi üksuse värskendamine

Indeksit saab kasutada massiivi elemendi värskendamiseks

Sisend:

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

Ülaltoodud käsk muudab sõna "üks" väärtuseks "muudetud". $ Testi test naaseb

Väljund:

3. Massiivi elemendi leidmine

Massiivi väärtuse kontrollimiseks saab kasutada sarnast operaatorit

Sisend:

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

Väljund:

Mitmemõõtmeline massiiv PowerShellis

Saame luua mitmemõõtmelise massiivi järgmiselt:

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

Igal massiivil on üks rida ja kolm veergu.

Massiivi loomine

Nagu kõigis teistes keeltes, saab ka silmuse jaoks massiivi silmuseid kasutada silmuse jaoks.

Sisend:

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

Väljund :

Igaüks saab kasutada toimingut massiivi iga üksuse vastu.

Sisend:

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

Väljund:

Massiivide loend PowerShellis

Üks massiivi puudusi on üksuste lisamine sellele, et ületada massiivide nimekirja.

Järgmine on massiiviloendi loomise süntaks,

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

Esimene rida on massiivide nimekirja lähtestamise viis ja järgmistel ridadel üksuste lisamine ArrayListi

Massiiv vs massiivide loendi jõudlus

Järgmised näited näitavad massiivi ja massiivide loendis toimingu teostamise erinevusi jõudluses

Sisend:

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

Esimene käsk teostab massiivis toimingu ja kolmas rida teeb seda massiivide loendis.

Väljund:

  • Massiivi esitus

  • Massiiviloendi täitmine

Massiiviloendi jõudlus on massiivist kiirem ja parem.

PowerShelli massiivi näide

Järgnevalt on toodud näide massiivi pikkuse leidmiseks, kasutades silmuseid, foreach-silmuseid ja silmuseid.

Sisend:

$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äljund:

Räsitabel

Hash-tabelit kasutatakse struktureeritud massiivi rakendamiseks. Räsitabelis salvestatakse väärtused võtmeväärtuse vormingus. Neid nimetatakse ka sõnaraamatuks või assotsiatiivseks massiiviks.

Süntaks:

()

Või

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

Kui võtmed1, klahvid2 ja klahvid 3 on klahvid ja test1, test2 ja test3 on väärtused.

Sisend :

$testhashtable

Väljund:

Võtmele või väärtustele pääsete järgmiselt juurde .dot operaatori abil

Sisend:

$testhashtable.keys

Väljund:

Sisend:

$testhashtable.Values

Väljund:

Näide

Allpool on toodud näide kõigi räsitavate klahvide ja räsitavate väärtuste leidmiseks.

Sisend:

$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äljund:

Järeldus - massiiv PowerShellis

Massiivi peamine eelis on mäluhaldus. Neile pääseb juurde otse vahemälust, mis aitab kiiremini alla saada. Kui need on deklareeritud, saab neid korduvalt kasutada.

Soovitatavad artiklid

See on juhend Array kohta PowerShellis. Siin arutatakse massiivi, massiivi nimekirja ja räsitabeli tutvustamist ja rakendamist PowerShellis. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. PowerShell vs CMD
  2. PowerShelli seitse parimat versiooni
  3. Massiivi eelised
  4. Peamine erinevus PowerShelli ja Bashi vahel