Ответ 1
Вместо этого вы должны использовать общий Dictionary
, тогда как Hashtable
нет. Попробуйте следующее:
NameValueCollection col = new NameValueCollection();
col.Add("red", "rouge");
col.Add("green", "verde");
col.Add("blue", "azul");
var dict = col.AllKeys
.ToDictionary(k => k, k => col[k]);
EDIT:. На основе вашего комментария, чтобы получить HashTable, вы все равно можете использовать вышеупомянутый подход и добавить еще одну строку. Вы всегда можете сделать эту работу в одной строке, но 2 строки более читабельны.
Hashtable hashTable = new Hashtable(dict);
Альтернативно, подход pre-.NET 3.5 с использованием цикла:
Hashtable hashTable = new Hashtable();
foreach (string key in col)
{
hashTable.Add(key, col[key]);
}