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 можна використовувати для відображення елементів у масиві доти, доки певна умова перестане мати значення true. Наприклад, для відображення елементів у масиві $a при індексі масиву менше 4 введіть:
ОТРИМАННЯ ЕЛЕМЕНТІВ МАСИВУ
Для отримання властивостей та методів масиву, наприклад, властивості Length і методу SetValue, використовується параметр InputObject командлета Get-Member.
При передачі масиву до команди Get-Member Windows PowerShell відправляє елементи по одному, а Get-Member повертає тип кожного елемента в масиві (без урахування повторень).
У разі використання параметра InputObject командлет Get-Member повертає елементи масиву.
Наприклад,Наступна команда повертає елементи масиву змінної $a.
Отримати елементи масиву можна, ввівши кому (,) перед значенням, яке передається конвеєром в командлет Get-Member. Кома робить масив другим елементом в масиві масивів. Windows PowerShell передає масиви по одному конвеєру, а командлет Get-Member повертає елементи масиву.
УПРАВЛІННЯ МАСИВОМ
Можна змінювати елементи в масиві, додавати елемент масив і об'єднувати значення з двох масивів в третій масив.
Щоб змінити значення певного елемента в масиві, вкажіть ім'я масиву та індекс елемента, які потрібно змінити, а потім за допомогою оператора присвоєння (=) вкажіть нове значення для елемента. Наприклад, щоб змінити значення другого елемента в масиві $a (значення індексу 1) на 10, введіть:
Для зміни значення можна використовувати метод SetValue. У наступному прикладі показано зміну другого значення (значення індексу 1) масиві $a на 500.
Для додавання елемента до масиву можна використовувати оператор +=. У цьому випадку Windows PowerShell фактично створює новий масив зі значеннями вихідного масиву та доданим значенням. Наприклад, щоб додати елемент зі значенням 200 масив у змінній $a, введіть:
Видалення елементів з масиву пов'язане з певними труднощами, проте можна створити новий масив, який містить лише вибрані елементи існуючого масиву. Наприклад, щоб створити масив $t з усіма елементами в масиві $a, крім значення позиції з індексом 2, введіть:
Для об'єднання двох масивів один використовується оператор «плюс» (+). У наступному прикладі створюється два масиви, які об'єднуються, після чого відображається підсумковий об'єднаний масив.
В результаті масив $zмістить значення 1, 3, 5 та 9.
Щоб видалити масив, призначте значення $null. Наступна команда видаляє масив змінної $a.
Також можна використовувати командлет Remove-Item, однак значення $null виконується швидше, особливо для великих масивів.
МАСИВИ БЕЗ ОБ'ЄКТІВ ЧИ З ОДНИМ ОБ'ЄКТОМ
Починаючи з Windows PowerShell 3.0, колекція без об'єктів або з одним об'єктом має властивості Count та Length. Крім того, можна виконати індексацію масив з одним об'єктом. Ця функція дозволяє уникнути помилок сценаріїв, що виникають у випадку, коли команда замість колекції отримує менше двох елементів.
Ця функція продемонстрована у таких прикладах.