Skip to content

Exploring PowerShell Arrays: A Comprehensive Guide

In programming, an array is a data structure that allows you to store multiple values in a single variable. Arrays are particularly useful for managing collections of related data. In PowerShell, an array can hold items of different types, such as numbers, strings, or even other arrays. PowerShell provides robust capabilities for handling arrays. In this guide we explore the different types of arrays in PowerShell and how to use them.

Types of Arrays in PowerShell

  • Simple Arrays
  • Multidimensional Arrays
  • Jagged Arrays
  • ArrayLists

Let’s go into detail on each type of Array:

Simple Arrays

A simple array in PowerShell is a collection of items of the same or different types. You can create an array using the @() syntax or by simply listing items separated by commas.

# Creating a simple array
$simpleArray = @(1, 2, 3, 4, 5)

# Alternative way
$simpleArray = 1, 2, 3, 4, 5

# Accessing elements
Write-Output $simpleArray[0]  # Outputs: 1

# Adding an element
$simpleArray += 6

# Display the array

Multidimensional Arrays

Multidimensional arrays store data in a grid format, making them ideal for representing matrices or tables. You can create a multidimensional array using the New-Object cmdlet.

# Creating a 2x2 multidimensional array
$multiArray = New-Object 'object[,]' 2,2

# Assigning values
$multiArray[0,0] = 'A'
$multiArray[0,1] = 'B'
$multiArray[1,0] = 'C'
$multiArray[1,1] = 'D'

# Accessing elements
Write-Output $multiArray[0,1]  # Outputs: B

# Display the array

Jagged Arrays

Jagged arrays are arrays of arrays, where each inner array can be of different lengths. This structure provides greater flexibility compared to multidimensional arrays.

# Creating a jagged array
$jaggedArray = @()
$jaggedArray += ,@(1, 2, 3)
$jaggedArray += ,@(4, 5)
$jaggedArray += ,@(6, 7, 8, 9)

# Accessing elements
Write-Output $jaggedArray[0][1]  # Outputs: 2

# Display the array
$jaggedArray | ForEach-Object { $_ }


ArrayLists, part of the .NET framework, provide dynamic arrays that can expand as needed. They offer more flexibility than simple arrays, especially when you need to perform many additions and deletions.

# Creating an ArrayList
$arrayList = [System.Collections.ArrayList]::new()

# Adding elements
$arrayList.Add(1) | Out-Null
$arrayList.Add(2) | Out-Null
$arrayList.Add(3) | Out-Null

# Accessing elements
Write-Output $arrayList[1]  # Outputs: 2

# Removing an element

# Display the array


PowerShell arrays are powerful tools for managing collections of data. Understanding the different types of arrays—simple arrays, multidimensional arrays, jagged arrays, and ArrayLists—can enhance your scripting capabilities. Each type serves different purposes and choosing the right one depends on the specific needs of your task.

Published inPowerShell
© 2024 - Powered by Coffee & Magic