hakeの日記

Windows環境でプログラミングの勉強をしています。

PowerShell - 連想配列

代入と参照

PS C:\> $h = @{"a" = 1; "b" = 2}
PS C:\> $h["c"] = 3
PS C:\> $h

Name                           Value
----                           -----
c                              3
a                              1
b                              2

PS C:\> $h["a"]
1
PS C:\> $h["z"] -eq $null # 存在しないキーでは$nullが返る
True

キーおよび値の配列取得

PS C:\> $ks = $h.Keys
PS C:\> $ks
c
a
b
PS C:\> $vs = $h.Values
PS C:\> $vs
3
1
2

キーおよび値が存在するか

PS C:\> $h.ContainsKey("b")
True
PS C:\> $h.ContainsValue(3)
True

要素の削除

PS C:\> $h.Remove("a")
PS C:\> $h

Name                           Value
----                           -----
c                              3
b                              2

各要素の処理

PS C:\> $h = @{"a" = 1; "b" = 2; "c" = 3}
PS C:\> foreach($e in $h.GetEnumerator()){Write-Host $e.key, $e.value}
c 3
b 2
a 1