Introduksjon til Array i PowerShell

Arrayet er en type datastruktur som kan brukes til å lagre en samling av elementer, samlingen av elementer kan være av samme datatype eller forskjellig. Elementene i en matrise kan nås ved hjelp av indeksen. Indeksen for matrisen starter vanligvis på 0, så for å få tilgang til det første elementet må du bruke indeksen (0). Vanligvis kan bare to operasjoner være på en matrise, dvs. legge til et element i matrisen eller fjerne et element. I denne artikkelen skal vi lære om Array i PowerShell.

Definere en matrise i PowerShell

En matrise kan defineres på en av følgende måter,

@ () Er en av måtene å definere en matrise på.

Eksempel:

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

  • En matrise kan også opprettes som en kommaseparert liste.

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

  • Det kan opprettes en matrise for et spesifikt datatypeelement som følger,

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

Ovennevnte er et heltall array, og det kan bare inneholde heltallverdier.

Få tilgang til en matrise

La oss definere en matrise,

Eksempel:

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

$ test (0) returnerer test1, $ test (3) returnerer test4. Mange språk lar bare en enkelt indeks spesifiseres, mens i PowerShell kan flere indekser brukes samtidig.

I ovennevnte $ test (1, 3) vil returnere,

test2

test4

Operations on a Array

Legge til elementer i en matrise. La oss se et eksempel på hvordan du legger til et element til en eksisterende gruppe.

Eksempel:

('welcome', 'home')

For å legge til arrayen ovenfor, brukes '+ =' operatøren.

$ Test + = 'Raj'

Å kjøre $ test vil returnere,

Velkommen

hjem

Raj

Få graven til en matrise

Her forklarer vi hvordan du bruker følgende innspill for å få uttelling av en matrise.

inngang:

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

$ test. Antallet vil returnere 6, som er antall / lengde på matrisen.

1. Sortere elementene i en matrise

Sorteringsoperatøren kan brukes til å sortere elementene i en matrise hvis elementene er av samme datatype.

inngang:

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

Kommandoen ovenfor vil sortere elementene i stigende rekkefølge

Produksjon:

inngang:

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

Produksjon:

2. Oppdatere elementet i en matrise

Indeksen kan brukes til å oppdatere et element i matrisen

inngang:

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

Kommandoen ovenfor vil endre 'en' til 'endret'. Å utføre $ test vil returnere

Produksjon:

3. Finne et element i en matrise

For å sjekke en matrise for verdi, kan den lignende operatøren brukes

inngang:

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

Produksjon:

Multidimensjonal matrise i PowerShell

Vi kan lage et flerdimensjonalt utvalg som følger,

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

Hver gruppe har én rad og tre kolonner.

Looping an Array

Som på andre språk kan for loop brukes til å sløyfe elementer i en matrise.

inngang:

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

Utgang :

For-hver kan brukes til å utføre en handling mot hvert element i matrisen.

inngang:

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

Produksjon:

Array List i PowerShell

En av ulempene med Array er å legge til elementer til det, for å få bukt med at vi har en matriseliste.

Følgende er syntaks for å opprette en matriseliste,

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

Den første linjen er måten å initialisere en array-liste, og de påfølgende linjene er å legge til elementer i ArrayList

Array vs Array List Performance

Følgende eksempler viser forskjellen i ytelse mens du utfører en operasjon på en matrise og matralliste

inngang:

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

Den første kommandoen utfører en operasjon på matrisen, og den tredje linjen gjør det samme på en matralliste.

Produksjon:

  • Performance of Array

  • Utførelse av Array List

Utførelsen av matriselisten er raskere og bedre enn den for matrisen.

Eksempel på Array i PowerShell

Følgende er et eksempel for å finne lengden på en gruppe som bruker for loop, foreach loop og while loop.

inngang:

$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

Produksjon:

Hash-bordet

Hash-tabellen brukes til å implementere en strukturert matrise. I hasjetabellen lagres verdiene i et nøkkelverdiformat. De er også kjent som ordbok eller tilknyttet matrise.

syntaks:

()

Eller

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

Hvor nøkkel1, nøkkel2 og nøkkel3 er nøklene og test1, test2 og test3 er verdiene.

Innspill :

$testhashtable

Produksjon:

Du får tilgang til nøkkelen eller verdiene på følgende måte ved å bruke .dot-operatøren

inngang:

$testhashtable.keys

Produksjon:

inngang:

$testhashtable.Values

Produksjon:

Eksempel

Følgende er et eksempel for å finne alle hashtable-tastene og hashtable-verdiene.

inngang:

$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

Produksjon:

Konklusjon - Array i PowerShell

Den viktigste fordelen med en matrise er minnehåndtering. Du får tilgang til dem direkte fra hurtigbufferen som hjelper raskere henting. De kan brukes på nytt, når det først er blitt erklært at de kan gjenbrukes flere ganger.

Anbefalte artikler

Dette er en guide til Array i PowerShell. Her diskuterer vi introduksjonen og implementeringen av en matrise, matriseliste og hasjbord i PowerShell. Du kan også se på følgende artikler for å lære mer -

  1. PowerShell vs CMD
  2. Topp 7 versjoner av PowerShell
  3. Fordeler med array
  4. Nøkkelforskjellen mellom PowerShell og Bash

Kategori: