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. Крім того, можна виконати індексацію масив з одним об'єктом. Ця функція дозволяє уникнути помилок сценаріїв, що виникають у випадку, коли команда замість колекції отримує менше двох елементів.

Ця функція продемонстрована у таких прикладах.