เพิ่มแฮชด้วยคีย์ที่ซ้ำกันในอาร์เรย์


1

ฉันมีพวงของแฮชใน PowerShell ด้วยปุ่มเหมือนกัน แม้ว่าการสร้างชุดของแฮชที่มีคีย์แตกต่างกันนั้นมีความตรงไปตรงมาและพูดคุยกันอย่างละเอียดบนอินเทอร์เน็ต แต่ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับการเพิ่มแฮชในอาร์เรย์ด้วยคีย์ซ้ำ

ข้อผิดพลาดสองข้อที่ฉันได้รับเมื่อพยายามทำสิ่งนี้:

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

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

คำตอบ:


4

คุณไม่สามารถเพิ่มคีย์ที่ซ้ำกันลงในแฮชเทเบิลได้เนื่องจากแฮชเทเบิลโดยการออกแบบสามารถมีได้เฉพาะคีย์ที่ไม่ซ้ำกัน หากคุณต้องการเก็บคู่คีย์ / ค่าที่ซ้ำกันให้ใช้อาร์เรย์

ฉันใช้อาร์เรย์ของตารางแฮชอิสระ แต่อย่างใดเมื่อคุณเพิ่ม hashtable ลงในอาเรย์คีย์ต้องไม่ซ้ำกันในแฮชเทเบิลทั้งหมดในอาเรย์

แปลกเพราะมันควรจะทำงานได้ดี ตัวอย่าง:

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

ผล:

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

ฉันไม่แน่ใจว่าคุณหมายถึงอะไร ฉันใช้อาร์เรย์ของตารางแฮชอิสระ แต่อย่างใดเมื่อคุณเพิ่ม hashtable ลงในอาเรย์คีย์ต้องไม่ซ้ำกันในแฮชเทเบิลทั้งหมดในอาเรย์
twinlakes

@twinlakes มันน่าจะใช้ได้ดีดูการอัพเดท เราเห็นรหัสของคุณได้ไหม
beatcracker

แปลก. ฉันเดาว่ามันอาจจะเป็นข้อผิดพลาดที่เกิดจากความยาวที่เปิดออกโดยอัตโนมัติ = 1 อาร์เรย์ น่าเสียดายที่ฉันไม่มีรหัสดั้งเดิมเนื่องจากสถานการณ์ของฉันอนุญาตให้ฉันใช้System.Collections.Queueแทน
twinlakes

ขอบคุณสำหรับคำแนะนำ ฉันมีปัญหาในการส่งข้อมูลไปยัง REST API ที่ต้องการคุณลักษณะหลายอย่างโดยใช้คีย์ซ้ำ
bbatman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.