Enumerator для HashTable

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

fob
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 70
Зарегистрирован: 19.06.2005 (Вс) 21:29

Enumerator для HashTable

Сообщение fob » 03.05.2006 (Ср) 11:03

Код: Выделить всё

Dim h as New Hashtable   
Dim keys as IEnumerator

h.add(71,0)
h.add(98,92)

keys = h.keys.GetEnumerator()
keys.Reset()

While keys.MoveNext
   '  keys.Current
End While


Так вот первым оказывается ключ 98, вторым 71, т.е. не в том порядке как я их добавлял. Почему?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 03.05.2006 (Ср) 11:20

потому что HashTable не есть массив или список и располагает элементы не по порядку поступления
Весь мир матрица, а мы в нем потоки байтов!

fob
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 70
Зарегистрирован: 19.06.2005 (Вс) 21:29

Сообщение fob » 03.05.2006 (Ср) 11:21

млин, а как же мне добиться соответствия? неужели никак???

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 03.05.2006 (Ср) 11:53

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

fob
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 70
Зарегистрирован: 19.06.2005 (Вс) 21:29

Сообщение fob » 03.05.2006 (Ср) 11:54

Да я уже попробовал SortedTable. Вроде получилось. Спасибо :)


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 117

    TopList