Introduktion til Array i PowerShell
Arrayet er en type datastruktur, der kan bruges til at gemme en samling af varer, indsamlingen af elementer kan være af samme datatype eller forskellige. Elementerne i en matrix kan fås ved hjælp af indekset. Indekset for arrayet starter normalt ved 0, så for at få adgang til det første element skal du bruge indekset (0). Typisk kan kun to operationer være på en matrix, dvs. tilføje et element til arrayen eller fjerne et element. I denne artikel skal vi lære om Array i PowerShell.
Definition af en matrix i PowerShell
En matrix kan defineres på en af følgende måder,
@ () Er en af måderne at definere en matrix på.
Eksempel:
$Subject = @('History', 'Geo', 'Maths')
- En matrix kan også oprettes som en kommasepareret liste.
$test='testone', 'testtwo', 'testthree'
- Der kan oprettes en matrix til et specifikt datatypeelement som følger,
(int()) $numbersarray = 1, 2, 3, 4, 5
Ovenstående er et heltalarray, og det kan kun indeholde heltalværdier.
Adgang til en matrix
Lad os definere en matrix,
Eksempel:
('test1', 'test2', 'test3', 'test4')
$ test (0) returnerer test1, $ test (3) returnerer test4. På mange sprog er det kun muligt at specificere et enkelt indeks, mens der i PowerShell flere indekser kan bruges samtidig.
I ovenstående $ test (1, 3) vender tilbage,
test2
test4
Operations on a Array
Føj elementer til en matrix. Lad os se et eksempel på, hvordan du tilføjer et element til en eksisterende matrix.
Eksempel:
('welcome', 'home')
For at tilføje til ovenstående matrix bruges operatøren '+ ='.
$ Test + = 'Raj'
Kørsel af $ test vil vende tilbage,
Velkommen
hjem
Raj
Få tællingen af en matrix
Her forklarer vi, hvordan man bruger følgende input til at få tællingen af en matrix.
Input:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count returnerer 6, som er tællingen / længden af arrayet.
1. Sortering af elementerne i en matrix
Sorteringsoperatøren kan bruges til at sortere elementerne i en matrix, hvis elementerne er af den samme datatype.
Input:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Ovenstående kommando sorterer elementerne i stigende rækkefølge
Produktion:
Input:
$test |sort -Descending will sort the elements in the descending order
Produktion:
2. Opdatering af en vare i en matrix
Indekset kan bruges til at opdatere et element i matrixen
Input:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Ovenstående kommando vil ændre 'en' til 'ændret'. Udførelse af $ test vender tilbage
Produktion:
3. Find et element i en matrix
Til at kontrollere en matrix for værdi, kan den lignende operatør bruges
Input:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
Produktion:
Multidimensionel matrix i PowerShell
Vi kan oprette en multidimensionel matrix som følger,
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Hver matrix har en række og tre kolonner.
Looping en matrix
Som på alle andre sprog kan for loop bruges til at sløjfe genstande i en matrix.
Input:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Output :
For-hver kan bruges til at udføre en handling mod hvert element i matrixen.
Input:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
Produktion:
Array-liste i PowerShell
En af ulemperne med Array er at tilføje elementer til det for at overvinde, at vi har en matrixliste.
Det følgende er syntaks for at oprette en matrixliste,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
Den første linje er måden at initialisere en matrixliste, og de efterfølgende linjer er at tilføje elementer til ArrayList
Array vs Array List Performance
Følgende eksempler viser forskellen i ydeevne, mens du udfører en handling på en matrix og array-liste
Input:
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 kommando udfører en operation på matrixen, og den tredje linje gør det samme på en matrixliste.
Produktion:
- Udførelse af Array
- Udførelse af Array List
Arraylistens ydelse er hurtigere og bedre end arraylisten.
Eksempel på Array i PowerShell
Følgende er et eksempel til at finde længden på en matrix, der bruger til loop, foreach loop og while loop.
Input:
$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
Produktion:
Hash-tabel
Hash-tabel bruges til at implementere en struktureret matrix. I hashtabellen gemmes værdierne i et nøgleværdiformat. De er også kendt som ordbog eller tilknyttet matrix.
Syntaks:
()
Eller
( key1=”test1”;key2=”test2”;key3=”test3”)
Hvor nøgle1, nøgle2 og nøgle3 er tasterne, og test1, test2 og test3 er værdierne.
Input :
$testhashtable
Produktion:
Nøglen eller værdierne kan fås på følgende måde ved hjælp af .dot-operatøren
Input:
$testhashtable.keys
Produktion:
Input:
$testhashtable.Values
Produktion:
Eksempel
Det følgende er et eksempel på at finde alle hashtable nøgler og hashtable værdier.
Input:
$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
Produktion:
Konklusion - Array i PowerShell
Den største fordel ved en matrix er hukommelsesstyring. De kan fås direkte fra cachen, hvilket hjælper med hurtigere hentning. De kan genbruges, når det først er erklæret, kan de genbruges flere gange.
Anbefalede artikler
Dette er en guide til Array i PowerShell. Her diskuterer vi introduktionen og implementeringen af en matrix, matrixliste og hash-tabel i PowerShell. Du kan også se på de følgende artikler for at lære mere -
- PowerShell vs CMD
- Top 7 versioner af PowerShell
- Fordele ved Array
- Nøgleforskel mellem PowerShell og Bash