PowerShell配列

PowerShell 配列の宣言

PowerShellの配列は「.NET Framework」の「System.Array」クラスのインスタンスです。

PowerShellにおける配列は「@(要素, ...)」という記述をします。


$array = @(1,2,3,4)
$array = 1,2,3,4     <- 「@()」は省略できます。
$array[0]            <- 上の配列の場合、結果として1が出力される

空の配列宣言と代入は以下の通りです。


$array = @()

要素がひとつだけの場合、配列宣言と代入は以下の記述となります。


$array = @(1)
$array = ,1

要素を自動的に列挙する配列の宣言と代入方法は以下の通りです。


# 1~10までの要素を持つ配列宣言と代入
$array = @(1..10)

型指定の配列は以下のように、変数に型を指定します。


[int[]]$arr1 = @(1,3,5,7,9)

多次元配列

多次元配列は「()」を次元の単位として、要素を代入します。


$array = @((1,2,3,4),("a","b","c","d"))
$array[1][1]         <- 上の配列の場合、結果として「b」が表示される

PowerShell 配列の参照

PowerShellにおける配列は「0」から要素を数えます。

配列の末尾要素を参照する場合には「-1」という指定が扱えます。


# 1番目の要素を参照
$ret = $array[0]
# 2番目の要素を参照
$ret = $array[1]
# 3番目の要素を参照
$ret = $array[2]
# 配列の末尾の要素を取り出す
$ret = $arr2[-1]

配列の要素を範囲で参照することが可能です。


# 10~20番目の要素を含んだ配列を参照
$ret = $array[9..19]

# 1~4番目と8番目の要素を含んだ配列を参照
$ret = $array[0..3+7]

条件に合致した新たな配列を抜き出すことが可能です。


# 5より小さな要素を含んだ配列を返す
$ret = $array -lt 5

配列上に要素が含まれるかどうか調べるには「-contains」を記述します。


# 存在するならばTrueを返す
$array -contains 5

PowerShell 配列の代入と要素の追加

配列番号を指定して、要素を代入します。


# 5番目の要素に値を代入
$array[4] = 32

配列の末尾に要素を加える操作(push操作)は以下の記述となります。


# 配列末尾に33を代入する
$array += 33

既存の配列を結合して、新しい配列を作成するには以下の記述をします。


$array3 = $array1 + $array2

PowerShell 配列要素の削除

配列要素の削除は「$null」を代入します。


$array = @(1,2,3,4)
$array[2] = $null
# 結果「1,2,4」の配列に変更されます。

関連ページ