Въведение в масива в PowerShell
Масивът е тип структура от данни, която може да се използва за съхраняване на колекция от елементи, колекцията от елементи може да бъде от един и същ тип данни или различна. Елементите в масива могат да бъдат достъпни с помощта на индекса. Индексът на масива обикновено започва от 0, така че за достъп до първия елемент трябва да използвате индекса (0). Обикновено само две операции могат да бъдат върху масив, т.е. добавяне на елемент към масива или премахване на елемент. В тази статия ще научим за масива в PowerShell.
Определяне на масив в PowerShell
Масивът може да бъде дефиниран по всеки от следните начини,
@ () Е един от начините за определяне на масив.
Пример:
$Subject = @('History', 'Geo', 'Maths')
- Масив може да бъде създаден и като разделен със запетая списък.
$test='testone', 'testtwo', 'testthree'
- Може да се създаде масив за конкретен елемент от типа данни, както следва,
(int()) $numbersarray = 1, 2, 3, 4, 5
Горното е целочислен масив и може да съдържа само цели стойности.
Достъп до масив
Нека определим масив,
Пример:
('test1', 'test2', 'test3', 'test4')
$ test (0) ще върне test1, $ test (3) ще върне test4. Много езици позволяват да се посочва само един индекс, докато в PowerShell могат да се използват няколко индекса едновременно.
В горния $ тест (1, 3) ще се върне,
test2
Test4
Операции на масив
Добавяне на елементи в масив. Нека видим пример как да добавим елемент към съществуващ масив.
Пример:
('welcome', 'home')
За добавяне към горния масив се използва операторът '+ ='.
$ Тест + = 'Raj "
Изпълняването на $ test ще се върне,
добре дошли
У дома
суверенитет
Получаване на броя на масива
Тук обясняваме как да използваме следния вход, за да вземем броя на масива.
Вход:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count ще върне 6, което е броя / дължината на масива.
1. Сортиране на елементите в масив
Операторът за сортиране може да се използва за сортиране на елементите от масива, ако елементите са от един и същ тип данни.
Вход:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Горната команда ще сортира елементите във възходящ ред
изход:
Вход:
$test |sort -Descending will sort the elements in the descending order
изход:
2. Актуализиране на елемент в масив
Индексът може да се използва за актуализиране на елемент в масива
Вход:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Горната команда ще промени 'one' в 'change'. Изпълнението на $ test ще се върне
изход:
3. Намиране на елемент в масив
За да проверите масива за стойност, може да се използва подобен оператор
Вход:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
изход:
Многоизмерен масив в PowerShell
Можем да създадем многоизмерен масив, както следва,
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Всеки масив има един ред и три колони.
Looping масив
Както във всички други езици, цикълът for може да се използва за цикъл на елементи в масив.
Вход:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Резултат :
За-всеки може да се използва за извършване на действие срещу всеки елемент от масива.
Вход:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
изход:
Списък на масиви в PowerShell
Един от недостатъците при Array е добавянето на елементи към него, за да се преодолее, че имаме списък с масиви.
По-долу е синтаксисът за създаване на списък с масиви,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
Първият ред е начинът да се инициализира списък с масиви, а следващите редове са да добавите елементи към ArrayList
Производителност на списъка с масиви срещу масиви
Следващите примери показват разликата в производителността по време на извършване на операция в списък с масиви и масиви
Вход:
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
Първата команда извършва операция над масива, а третия ред прави същото в списъка с масиви.
изход:
- Изпълнение на Array
- Изпълнение на списъка с масиви
Изпълнението на списъка с масиви е по-бързо и по-добро от това на масива.
Пример за масив в PowerShell
Следва пример за намиране на дължината на масива, използващ за loop, foreach loop и while loop.
Вход:
$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
изход:
Таблица за хеш
Таблицата Hash се използва за реализиране на структуриран масив. В хеш таблицата стойностите се съхраняват във формат ключ-стойност. Известни са също като речник или асоциативен масив.
Синтаксис:
()
Или
( key1=”test1”;key2=”test2”;key3=”test3”)
Където key1, key2 и key3 са ключовете, а test1, test2 и test3 са стойностите.
Вход :
$testhashtable
изход:
Ключът или стойностите могат да бъдат достъпни по следния начин, като използвате оператора .dot
Вход:
$testhashtable.keys
изход:
Вход:
$testhashtable.Values
изход:
пример
Следва пример за намиране на всички клавиши за хеширане и стойности на хешбел.
Вход:
$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
изход:
Заключение - масив в PowerShell
Основното предимство на масива е управлението на паметта. Те могат да бъдат достъпни директно от кеша, което помага за по-бързо извличане. Те са за многократна употреба, след като декларира, че могат да бъдат използвани повторно.
Препоръчителни статии
Това е ръководство за Array в PowerShell. Тук обсъждаме въвеждането и реализацията на масив, списък на масиви и хеш таблица в PowerShell. Можете също да разгледате следните статии, за да научите повече -
- PowerShell срещу CMD
- Топ 7 версии на PowerShell
- Предимства на масива
- Ключова разлика между PowerShell и Bash