Здравствуйте, есть интересующий меня вопрос, по MSDN ответа не нашел, да и в форуме не видел.
есть следующий код, который работает:
Hashtable ht = Hashtable.Synchronized(new Hashtable());
ht.Add(1,1);
foreach(DictionaryEntry de in ht)
Console.WriteLine(de.ToString());
а вот следующий код не работает:
Hashtable ht = Hashtable.Synchronized(new Hashtable());
ht.Add(1,1);
ICollection col = (ICollection)ht;
foreach(object de in col)
Console.WriteLine(de.ToString());
первый вариант работает через IDictionaryEntry, а второй через IEnumerable. Если Hashtable поддерживает оба этих интерфейса, то почему второй вариант не работает (он просто не заходит в foreach)?
Заранее благодарен за компетентный ответ.
P.S. Я использую Framework 1.1