Хотя для HashTable
нет AddRange
, вы могли бы создать расширение, по крайней мере имитирующее поведение AddRange
. Это быстрый ответ, который, как мы надеемся, поможет вам двигаться вперед, отнюдь не лучшая реализация, поскольку есть другие альтернативы.
Вот пример расширения -
public static void AddRange<T, K>(this Hashtable hash, IEnumerable<KeyValuePair<T,K>> ikv)
{
foreach(KeyValuePair<T, K> kvp in ikv)
{
if (!hash.ContainsKey(kvp.Key))
{
hash.Add(kvp.Key, kvp.Value);
}
}
}
Вот один из способов, которым вы можете его использовать -
Hashtable list = new Hashtable();
list.AddRange(new[] { new KeyValuePair<int, string>(1,"green"), new KeyValuePair<int, string>(2,"blue"), new KeyValuePair<int, string>(3,"red") });
Опять же, это был быстрый пример, чтобы помочь вам, надеюсь, этого достаточно, чтобы вы пошли.