Append an Array to an Array of Arrays in PowerShell Append an Array to an Array of Arrays in PowerShell arrays arrays

Append an Array to an Array of Arrays in PowerShell


It's a common gotcha, arrays (and other collections) may get unrolled "unexpectedly". Use the comma operator (it makes/enforces an array with a single item and avoids unrolling):

$array1 = "11","12","13"$array2 = "21","22","23"$array3 = "31","32","33"$arrayAll = $array1, $array2, $array3$arrayAll.Count # returns 3$arrayAll = @()$arrayAll += , $array1$arrayAll += , $array2$arrayAll += , $array3$arrayAll.count # returns 3$arrayAll[1] # gets "21","22","23", i.e. $array2


Not sure I undestand what you are looking for, but it can help.

PS> $arrayAll = New-Object int[][] (3,3)PS> $arrayAll[0] = $array1PS> $arrayAll[1] = $array2PS> $arrayAll[2] = $array3PS> $arrayAll.Count3PS> $arrayAll[1][2]23

It's a way to code an array of array.

Here is a way to code an array of two dimensions

PS> $arrayAll = New-Object 'int[,]' (3,3)PS> $arrayAll[2,0] = 12