分かりやすく、使いやすく。

連想配列(ハッシュ)に指定したキーが含まれるかを確認する方法

スポンサーリンク

PowerShell で連想配列(ハッシュ)にキーが存在するかを確認するには ContainsKey または Contains を使用します。ContainsKey と Contains は全く同じ動作をします。

  1. ContainsKey のサンプルコード
  2. Contains のサンプルコード
  3. Remove でキーを削除した場合


ContainsKey のサンプルコード

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 連想配列(ハッシュ)を作成する。
$my_hash = @{
    'Key1' = 'Val1';
    'Key2' = 'Val2';
    'Key3' = 'Val3';
};
 
# 以下はいずれも True を返す。
Write-Host $my_hash.ContainsKey('Key1');
Write-Host $my_hash.ContainsKey('Key2');
Write-Host $my_hash.ContainsKey('Key3');
 
# False を返す。
Write-Host $my_hash.ContainsKey('Key4');
 
# False を返す。(値には含むがキーには含まない為。)
Write-Host $my_hash.ContainsKey('Val1'); 

サンプルコードの実行結果は次の通りです。

True
True
True
False
False 

Contains のサンプルコード

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 連想配列(ハッシュ)を作成する。
$my_hash = @{
    'Key1' = 'Val1';
    'Key2' = 'Val2';
    'Key3' = 'Val3';
};
 
# 以下はいずれも True を返す。
Write-Host $my_hash.Contains('Key1');
Write-Host $my_hash.Contains('Key2');
Write-Host $my_hash.Contains('Key3');
 
# False を返す。
Write-Host $my_hash.Contains('Key4');
 
# False を返す。(値には含むがキーには含まない為。)
Write-Host $my_hash.Contains('Val1');  

サンプルコードの実行結果は次の通りです。

True
True
True
False
False 

Remove でキーを削除した場合

Remove でキーを指定して要素を削除した場合、そのキーを指定すると False になります。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 連想配列(ハッシュ)を作成する。
$my_hash = @{
    'Key1' = 'Val1';
    'Key2' = 'Val2';
    'Key3' = 'Val3';
};
 
# キーが 'Key2' の要素を削除。
$my_hash.Remove('Key2');
 
# Key2 は削除されているので False を返す。
Write-Host $my_hash.ContainsKey('Key1'); # True
Write-Host $my_hash.ContainsKey('Key2'); # False
Write-Host $my_hash.ContainsKey('Key3'); # True 
True
False
True 

キーではなく値を検索したい場合は連想配列(ハッシュ)に指定した値が含まれるかを確認する方法を参照してください。

スポンサーリンク
スポンサーリンク