How do I create array of arrays in PowerShell?

arrays, powershell

Solution

Adding a comma force to create an array:

$x = @(
    ,@(1,2,3)
)

Simple way:

$x = ,(1,2,3)

Problem

I want to create an array of arrays in PowerShell. ``` $x = @( @(1,2,3), @(4,5,6) ) ``` It works fine. However, sometimes I have only one array in the array list. In that situation, PowerShell ignores one of the lists: ``` $x = @( @(1,2,3) ) $x[0][0] # Should return 1 Unable to index into an object of type System.Int32. At line:1 char:7 + $a[0][ <<<< 0] + CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException + FullyQualifiedErrorId : CannotIndex ``` How do I create an array of arrays, guaranteed it remains as a two-dimensional array even if the array has only one array item in it?

Original source