PowerShell: 配列の要素数(長さ)を取得する Length

配列はPowerShellでのデータ処理において非常に重要な役割を果たします。 この記事では、PowerShellで配列の要素数(長さ)を取得する方法について詳細に説明します。 特に、Length プロパティとそのエイリアスである Count プロパティの使用方法を 中心に解説します。

配列の要素数を取得する基本方法

PowerShellで配列の要素数(長さ)を取得するには、Length プロパティまたはそのエイリアスである Count プロパティを使用します。両方のプロパティは互換性があり、どちらも使用可能です。

$arr = 1, 2, 3, 4, 5
Write-Host $arr.Length # 5
Write-Host $arr.Count  # 5

Length プロパティと Count プロパティは、配列の要素数を返します。配列の先頭インデックスは0なので、配列の最大インデックスは「要素数 - 1」になります。例えば、要素数が5の配列のインデックスは「0, 1, 2, 3, 4」の5個です。

空の配列の場合

空の配列の場合、Length プロパティおよび Count プロパティは 0 を返します。

$arr = @()
Write-Host $arr.Length # 0
Write-Host $arr.Count  # 0

空の配列を作成する際には、@() を使用します。この場合、要素数は 0 になります。

多次元配列の場合

多次元配列の場合も、Length プロパティを使用して配列全体の要素数を取得できます。しかし、各次元の要素数を取得するには、GetLength メソッドを使用する必要があります。

$arr = @( @(1, 2, 3), @(4, 5, 6, 7, 8, 9) )
Write-Host $arr.Length # 配列全体の要素数 (2)
Write-Host $arr.GetLength(0) # 最初の次元の要素数 (2)
Write-Host $arr.GetLength(1) # 二次元目の要素数 (3 or 6)

GetLength メソッドは、指定した次元の要素数を返します。次元は0から始まります。0は最初の次元、1は次の次元、というように続きます。

実用例:Forループでの使用

Length プロパティは、Forループなどの制御構文で配列の要素を処理する際に便利です。以下は、Forループを使用して配列の各要素を表示する例です。

$arr = "a", "b", "c"
for ($i = 0; $i -lt $arr.Length; $i++) {
    Write-Host $arr[$i]
}
# 実行結果
# a
# b
# c

このコードでは、$i$arr.Length 未満である限りループが続き、各インデックスの要素を表示します。Forループは、インデックスを使用して配列の要素にアクセスしたい場合に特に便利です。

このように、Length プロパティと Count プロパティを使用することで、PowerShellでの配列処理が効率的に行えるようになります。

PowerShell