36

PowerShell で配列の配列を作成したいと考えています。

$x = @(
    @(1,2,3),
    @(4,5,6)
)

それは正常に動作します。ただし、配列リストに配列が 1 つしかない場合があります。その場合、PowerShell は次のいずれかのリストを無視します。

$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

配列の配列を作成するにはどうすればよいですか? 配列に配列項目が 1 つしかない場合でも、2 次元配列のままであることを保証しますか?

4

1 に答える 1

60

コンマ フォースを追加して配列を作成します。

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

簡単な方法:

$x = ,(1,2,3)
于 2012-06-21T12:38:54.830 に答える