Добавить хеш с дублирующимися ключами в массив

6169
twinlakes

У меня есть куча хэшей в 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.

1

1 ответ на вопрос

4
beatcracker

Вы не можете добавить дубликаты ключей в хеш-таблицы, потому что хеш-таблицы по своему дизайну могут содержать только уникальные ключи. Если вам нужно хранить повторяющиеся пары ключ / значение, используйте массивы.

Я использую массив независимых хеш-таблиц, но каким-то образом, когда вы добавляете хеш-таблицу в массив, ключи должны быть уникальными для всех хеш-таблиц в массиве

Это странно, потому что это должно работать нормально. Пример:

$ArrayOfHashtables = @, @, @ $ArrayOfHashtables + @ 

Результат:

Name Value ---- ----- Aplha Bravo Charlie Delta Echo Foxtrot Charlie Delta 
Я не уверен, что вы имеете в виду. Я использую массив независимых хеш-таблиц, но каким-то образом, когда вы добавляете хеш-таблицу в массив, ключи должны быть уникальными для всех хеш-таблиц в массиве twinlakes 8 лет назад 0
@twinlakes Это должно работать нормально, смотрите обновление. Можем ли мы увидеть ваш код? beatcracker 8 лет назад 0
Weird. Я предполагаю, что тогда это могла быть ошибка, вызванная автоматическим развертыванием массивов length = 1. К сожалению, у меня нет исходного кода, так как моя ситуация позволила мне использовать вместо него `System.Collections.Queue`. twinlakes 8 лет назад 0
Спасибо за предложение. У меня были проблемы с передачей информации в REST API, который требовал нескольких атрибутов с использованием дубликатов ключей. bbatman 8 лет назад 0