Вы можете реализовать свой собственный мульти словарь
public class MultiDictionary<TKey, TValue> : Dictionary<TKey, List<TValue>>
{
public void Add(TKey key, TValue value)
{
if (TryGetValue(key, out List<TValue> valueList)) {
valueList.Add(value);
} else {
Add(key, new List<TValue> { value });
}
}
}
Обратите внимание, что я добавляю метод Add
, чтобы иметь возможность автоматически добавлять одно значение без необходимости работать со списками. Класс наследует оригинальный метод Add
, который позволяет вам также добавлять целый список.
В качестве альтернативы вы можете создать Dictionary<TKey, HashSet<TValue>>
, если вам нужно добавить уникальные значения, а порядок не имеет значения.