重複キーを持つハッシュを配列に追加する

重複キーを持つハッシュを配列に追加する

PowerShell に、同一のキーを持つハッシュが多数あります。異なるキーを持つハッシュの配列を作成するのは簡単で、インターネットでも十分に説明されていますが、重複するキーを持つ配列にハッシュを追加する方法については、情報が見つかりません。

これを試みたときに 2 つのエラーが発生しました:

Item has already been added. Key in dictionary: 'time' Key being added: 'time'

A hash table can only be added to another hash table.

答え1

ハッシュテーブルには設計上、一意のキーしか含められないため、重複するキーをハッシュテーブルに追加することはできません。重複するキー/値のペアを保存する必要がある場合は、配列を使用します。

私は独立したハッシュテーブルの配列を使用していますが、ハッシュテーブルを配列に追加すると、キーは配列内のすべてのハッシュテーブルで一意である必要があります。

それは奇妙です。なぜなら、問題なく動作するはずだからです。例:

$ArrayOfHashtables = @{Aplha = 'Bravo'}, @{Charlie = 'Delta'}, @{Echo = 'Foxtrot'}
$ArrayOfHashtables +  @{Charlie = 'Delta'}

結果:

Name                           Value
----                           -----
Aplha                          Bravo
Charlie                        Delta
Echo                           Foxtrot
Charlie                        Delta

関連情報