Въведение в масива в 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. Можете също да разгледате следните статии, за да научите повече -

  1. PowerShell срещу CMD
  2. Топ 7 версии на PowerShell
  3. Предимства на масива
  4. Ключова разлика между PowerShell и Bash

Категория: