About_Arrays, Microsoft Docs
Дестинация: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0
Въведете въведение тук.
КРАТКО ОПИСАНИЕ
Описание на масиви, които са структури от данни, предназначени да съхраняват колекции от елементи.
ПОДРОБНО ОПИСАНИЕ
Масивът е структура от данни, предназначена да съхранява колекция от елементи. Елементите могат да бъдат от еднакъв или различен тип.
Започвайки с Windows PowerShell® 3.0, колекция без елементи или с един обект има някои от свойствата на масивите.
СЪЗДАВАНЕ И ИНИЦИАЛИЗИРАНЕ НА МАСИВ
За да създадете и инициализирате масив, присвоете няколко стойности на променлива. Стойностите, съхранени в масив, се разделят със запетаи и се отделят от името на променливата с оператора за присвояване (=).
Например, за да създадете масив с име "$A", който съдържа седем числови (int) стойности (22, 5, 10, 8, 12, 9 и 80), въведете:
Можете също да създадете и инициализирате масив, като използвате оператора за диапазон (..). Например, за да създадете и инициализирате масив с име "$B", който съдържа стойностите от 5 до 8, въведете:
В резултат на това $B съдържа четири стойности: 5, 6, 7 и 8.
Ако не е указан тип данни, Windows PowerShell създава всеки масив като масив от обекти (тип: System.Object[]). За да определите типа данни на масив, използвайте метода GetType(). Например, за да определите типа данни в масива $a, въведете:
За да създадете строго типизиран масив, т.е. масив, който може да съдържа само стойности от определен тип, преобразувайте променливата като тип масив, като например string[], long[] или int32[]. За да направите масив, предшествайте името на променливата с типа на масива, ограден в квадратчета.скоби. Например, за да създадете 32-битов масив с цели числа с име "$ia", съдържащ четири цели числа (1500, 2230, 3350 и 4000), въведете:
В резултат на това масивът $ia може да съдържа само цели числа.
Можете да създавате масиви, които преобразуват всеки тип, поддържан от Microsoft .NET Framework. Например обектите, извлечени от Get-Process за представяне на процеси, са от тип System.Diagnostics.Process. За да създадете строго типизиран масив от процесни обекти, въведете следната команда:
ОПЕРАТОР ЗА ПОДИЗРАЗ НА МАСИВ
Операторът за подизраз на масив създава масив, дори ако не съдържа обекти или съдържа един обект.
Синтаксисът за оператора на масива е както следва:
Операторът за масив може да се използва за създаване на масив без обекти или с един обект.
Операторът за масив е особено полезен в сценарии, при които обектите се извличат, но броят на обектите не е известен.
За повече информация относно оператора за подизраз на масив вижте about_Operators.
ЧЕТЕНЕ НА МАСИВ
Масивът може да бъде указан чрез име на променлива. За да покажете всички елементи в масив, въведете името на масива. Например:
Можете да се обърнете към елементи в масив, като използвате индекс, базиран на нула. Номерът на индекса трябва да бъде ограден в квадратни скоби. Например, за да покажете първия елемент в масива $a, въведете:
За да покажете третия елемент в масива $a, въведете:
Отрицателните стойности се броят от края на масива. Например "-1" е последният елемент от масива. За да покажете последните три елемента от масив, въведете:
Тази нотация обаче трябва да се използва с повишено внимание.
Тази команда не се отнася до всички елементи на масива, освен последния. Тясе отнася до първия, последния и предпоследния елемент в масив.
Операторът за диапазон може да се използва за показване на подмножество от всички стойности в масив. Например, за да покажете елементи от данни по стойност на индекс от 1 до 3, въведете:
Операторът плюс (+) може да се използва за свързване на диапазон със списък от елементи на масив. Например, за да покажете елементи със стойности на индекси 0, 2 и 4 до 6, въведете:
За да определите броя на елементите в масив, използвайте свойството Length или неговия псевдоним Count.
Можете също така да използвате циклични конструкции като цикли ForEach, For и While, за да препращате към елементи в масив. Например, за да използвате цикъл ForEach за показване на елементите в масива $a, въведете:
Цикълът Foreach преминава през масива и връща всяка стойност в масива, докато не бъде достигнат краят на масива.
Цикълът For е полезен за увеличаване на броячите при проверка на елементи в масив. Например, за да използвате For цикъл за връщане на всички други стойности в масив, въведете:
Цикълът While може да се използва за показване на елементи в масив, докато определено условие вече не е вярно. Например, за да покажете елементите в масива $a с индекс на масива, по-малък от 4, въведете:
ПОЛУЧАВАНЕ НА ЕЛЕМЕНТИТЕ НА МАСИВА
За да получите свойства и методи на масив, като свойството Length и метода SetValue, използвайте параметъра InputObject на cmdlet Get-Member.
Когато подадете масив към команда Get-Member, Windows PowerShell изпраща елементите един по един, а Get-Member връща типа на всеки елемент в масива (без да брои повторенията).
Когато използвате параметъра InputObject, командата Get-Member връща елементите на масив.
Например,следната команда връща елементите на масива в променливата $a.
Можете да получите елементите на масив, като въведете запетая (,) преди стойността, която се изпраща към cmdlet Get-Member. Запетаята прави масива вторият елемент в масива от масиви. Windows PowerShell предава масивите един по един, а cmdlet Get-Member връща елементите на масива.
УПРАВЛЕНИЕ НА МАСИВИ
Можете да променяте елементи в масив, да добавяте елемент към масив и да обединявате стойности от два масива в трети масив.
За да промените стойността на конкретен елемент в масив, посочете името на масива и индекса на елемента, който искате да промените, и след това използвайте оператора за присвояване (=), за да посочите нова стойност за елемента. Например, за да промените стойността на втория елемент в масива $a (индексна стойност 1) на 10, въведете:
Можете също да използвате метода SetValue, за да промените стойността. Следващият пример променя втората стойност (стойност на индекс 1) в масива $a на 500.
Можете да използвате оператора +=, за да добавите елемент към масив. В този случай Windows PowerShell всъщност създава нов масив със стойностите на оригиналния масив и добавената стойност. Например, за да добавите елемент със стойност 200 към масива в $a, въведете:
Премахването на елементи от масив е трудно, но можете да създадете нов масив, който съдържа само избрани елементи от съществуващ масив. Например, за да създадете масив $t с всички елементи в масив $a с изключение на стойността при индекс 2, въведете:
Операторът плюс (+) се използва за обединяване на два масива в един. Следващият пример създава два масива, свързва ги и показва получения конкатениран масив.
В резултат на това масивът $zсъдържа стойностите 1, 3, 5 и 9.
За да изтриете масив, присвоете му стойност $null. Следната команда премахва масива в променливата $a.
Можете също да използвате cmdlet Remove-Item, но присвояването на $null стойност е по-бързо, особено за големи масиви.
МАСИВИ БЕЗ ОБЕКТИ ИЛИ С ЕДИН ОБЕКТ
Започвайки с Windows PowerShell 3.0, колекция без обекти или с един обект има свойства Count и Length. Също така е възможно да се индексира в масив с един обект. Тази функция избягва скриптови грешки, които възникват, когато дадена команда получи по-малко от два елемента вместо колекция.
Тази функция е демонстрирана в следните примери.