PowerShell: 連想配列の要素数を取得する Count

PowerShellで連想配列(ハッシュテーブル)の要素数 (キーと値のペアの数) を取得する場合は Count プロパティを使用します。

書式
$連想配列.Count

注意点として、 配列の要素数はLengthまたはCountのどちらでも取得できますが、 連想配列はCountのみです。 間違ってLengthを使用すると、Countとは異なる値を取得してしまいます。 空の連想配列の要素数は「0」です。

次のコードでは連想配列の要素数を取得しています。 追加時には要素数が1増えているのが確認できます。

$h = @{
	a = 100
	b = 200
	c = 300
}

$h.Count  # 3

$h.d = 400

$h.Count  # 4

空の連想配列の場合、要素数は0です。

$h = @{}

$h.Count  # 0

試しにCountプロパティだけでなく、 Lengthを指定するとどうなるかやってみます。

$h = @{a = 100; b = 200; c = 300}

$h.Count   # 3
$h.Length  # 1

$h.d = 400

$h.Count   # 4
$h.Length  # 1

Lengthを指定した場合、 エラーにはならずに「1」が返って来るようです。 CountとLengthを間違えるとバグの原因となるので 注意してください。

参考サイト
ハッシュテーブルについて知りたかったことのすべて - PowerShell | Microsoft Docs

PowerShell
PR