473,657 Members | 2,409 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Iterate over hashtabel in reverse order

Dear all,

following code iterates thru the hash table.

Dim _Enumerator As IDictionaryEnum erator = _myhashtable.Ge tEnumerator

While _Enumerator.Mov eNext()

....

End While

But I can't find a way to iterate in reverse direction. Something like...

Dim _Enumerator As IDictionaryEnum erator = _myhashtable.Ge tReverseEnumera tor

While _Enumerator.Mov ePrevious()

....

End While

It is possible?

Thanks
Nov 21 '05 #1
11 4487
Just an addtion. I expect there could be answers saying, that hashtable is
not a right collection for that. What is a right one? I need to put/get
value/key (with key check). And I need to be able to iterate in both
directions.
Thanks,
Boni
Nov 21 '05 #2
How about creating your own class that inherits from Hashtable? Give it a
public property like InterationDirec tion, and then implement your own
enumerator that inspects the property and moves its cursor in the
appropriate direction. See the help file on IEnumerable and Enumerator to
see how to implement your own.

Tom Dacon
Dacon Software Consulting

"Boni" <oilia@nospam > wrote in message
news:uw******** ******@TK2MSFTN GP10.phx.gbl...
Dear all,

following code iterates thru the hash table.

Dim _Enumerator As IDictionaryEnum erator = _myhashtable.Ge tEnumerator

While _Enumerator.Mov eNext()

...

End While

But I can't find a way to iterate in reverse direction. Something like...

Dim _Enumerator As IDictionaryEnum erator =
_myhashtable.Ge tReverseEnumera tor

While _Enumerator.Mov ePrevious()

...

End While

It is possible?

Thanks

Nov 21 '05 #3
Dear Tom,
Do you know how to move cursor in oposite direction on hashtable? It is
exactly what I am looking for and can't figure out.
Nov 21 '05 #4

Well what did you thought of the collection object ???
there you can use keys and indexes ( you can retrieve a value by its key
value or by its index in the collection )

as you can also read out the collection count and access the values by there
index , it is easy to loop through the collection in bot directions or even
start somewhere in the middle

well hope to have given you some ideas

regards and happy VB coding :-)

Michel Posseth [MCP]

"Boni" <oilia@nospam > wrote in message
news:uK******** ******@TK2MSFTN GP09.phx.gbl...
Just an addtion. I expect there could be answers saying, that hashtable is
not a right collection for that. What is a right one? I need to put/get
value/key (with key check). And I need to be able to iterate in both
directions.
Thanks,
Boni

Nov 21 '05 #5
Yes I did,
but I want to use .NET collections, and AFAK collection object is a VB
collection (and it is 1-based, what I hate:).
There should be a way to have the same functionality in .NET collections, I
hope.
But never the less, Thanks for the answer.
"m.posseth" <mi*****@nohaus ystems.nl> schrieb im Newsbeitrag
news:uA******** ******@TK2MSFTN GP12.phx.gbl...

Well what did you thought of the collection object ???
there you can use keys and indexes ( you can retrieve a value by its key
value or by its index in the collection )

as you can also read out the collection count and access the values by
there index , it is easy to loop through the collection in bot directions
or even start somewhere in the middle

well hope to have given you some ideas

regards and happy VB coding :-)

Michel Posseth [MCP]

"Boni" <oilia@nospam > wrote in message
news:uK******** ******@TK2MSFTN GP09.phx.gbl...
Just an addtion. I expect there could be answers saying, that hashtable
is not a right collection for that. What is a right one? I need to
put/get value/key (with key check). And I need to be able to iterate in
both directions.
Thanks,
Boni


Nov 21 '05 #6
Normally movenext is implemented like this

Function MoveNext() As Boolean Implements IEnumerator.Mov eNext

nIndex = nIndex + 1

Return (nIndex <= Collection.Coun t)

End Function

and it is also easy to implement MovePrevious.

But for hashtable it seems to be not possible to get value by index. (I am
wondering, how the normal evumerator for hashtable is implemented). Did I
missed something?

"Boni" <oilia@nospam > schrieb im Newsbeitrag
news:ud******** ******@TK2MSFTN GP12.phx.gbl...
Dear Tom,
Do you know how to move cursor in oposite direction on hashtable? It is
exactly what I am looking for and can't figure out.

Nov 21 '05 #7
Boni,

Why not just use a datatable, there is so much build in that?

Cor
Nov 21 '05 #8

hmmm well i do not agree on that ,, but that is a total different discussion
and i will not bother you with that :-)

however the answer for your question can in my opinion be found at my
personal uber guru`s website ( Francesco Balena )
read this
http://www.vb2themax.com/ShowContent...9-a6cf9b7953f4
and see also on the bottom that it also supports Hashtables

regards

Michel Posseth [MCP]
"Boni" <oilia@nospam > wrote in message
news:%2******** ********@TK2MSF TNGP09.phx.gbl. ..
Yes I did,
but I want to use .NET collections, and AFAK collection object is a VB
collection (and it is 1-based, what I hate:).
There should be a way to have the same functionality in .NET collections,
I hope.
But never the less, Thanks for the answer.
"m.posseth" <mi*****@nohaus ystems.nl> schrieb im Newsbeitrag
news:uA******** ******@TK2MSFTN GP12.phx.gbl...

Well what did you thought of the collection object ???
there you can use keys and indexes ( you can retrieve a value by its
key value or by its index in the collection )

as you can also read out the collection count and access the values by
there index , it is easy to loop through the collection in bot
directions or even start somewhere in the middle

well hope to have given you some ideas

regards and happy VB coding :-)

Michel Posseth [MCP]

"Boni" <oilia@nospam > wrote in message
news:uK******** ******@TK2MSFTN GP09.phx.gbl...
Just an addtion. I expect there could be answers saying, that hashtable
is not a right collection for that. What is a right one? I need to
put/get value/key (with key check). And I need to be able to iterate in
both directions.
Thanks,
Boni



Nov 21 '05 #9
Thanks, I will take a look in datatable.
"Cor Ligthert [MVP]" <no************ @planet.nl> schrieb im Newsbeitrag
news:up******** ******@TK2MSFTN GP15.phx.gbl...
Boni,

Why not just use a datatable, there is so much build in that?

Cor

Nov 21 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

35
3728
by: Raymond Hettinger | last post by:
Here is a discussion draft of a potential PEP. The ideas grew out of the discussion on pep-284. Comments are invited. Dart throwing is optional. Raymond Hettinger ------------------------------------------------------------- PEP: 323
8
3646
by: Jim Langston | last post by:
I have a class I designed that stores text chat in a std::vector<sd::string>. This class has a few methods to retrieve these strings to be displayed on the screen. void ResetRead( bool Reverse, bool wordWrap ); // Resets iterator. We can ignore wordwrap for now. std::string GetLine(); // Reads a line using iterator. Increments Iterator. Right now it only works in Reverse, since that's the method I used first,
3
3379
by: R. Rajesh Jeba Anbiah | last post by:
Unfortunately, I couldn't find any way to traverse the object array in reverse order. I'd thought there must be a way to do it with for..in loop, but couldn't find anything yet. Could someone please help me? TIA. -- <?php echo 'Just another PHP saint'; ?> Email: rrjanbiah-at-Y!com Blog: http://rajeshanbiah.blogspot.com/
14
14772
by: ford_desperado | last post by:
Why isn't ALLOW REVERSE SCANS the default? Why do we have to - drop PK - create an index - recreate PK What are the advantages of indexes that do not allow reverse scans?
6
6459
by: Zri Man | last post by:
I'm relatively new to DB2 and was reasonably amused to see the REVERSE SCAN availability for Indexes. My assumptions are as follows: DB2/UDB uses B-Tree for indexing by default and is likely the main offering for Indexing within the DB. Reverse Scans could possibly only happen on the the leaf node of the index
20
33033
by: sahukar praveen | last post by:
Hello, I have a question. I try to print a ascii file in reverse order( bottom-top). Here is the logic. 1. Go to the botton of the file fseek(). move one character back to avoid the EOF. 2. From here read a character, print it, move the file pointer (FILE*) to 2 steps back (using fseek(fp, -2, SEEK_CUR)) to read the previous character. This seems to be ok if the file has a single line (i.e. no new line character). The above logic...
19
13566
by: RAJASEKHAR KONDABALA | last post by:
Hi, Does anybody know what the fastest way is to "search for a value in a singly-linked list from its tail" as oposed to its head? I am talking about a non-circular singly-linked list, i.e., head and tail are not connected. Of course, recursive function aproach to traverse the list is one way. But, depending upon the list size, it could overrun the stack pretty fast.
10
5371
by: aatish19 | last post by:
1: Write a program that asks the user to input an integer value and print it in a reverse order Sample Output Enter any number 65564 Reverse of 65564 is 46556 2: Write a program that takes a string as an input and print it in reverse order.(don't use bulit-in/library function). Sample Output Enter any string: i m Kashif
20
19780
by: mike7411 | last post by:
Is there any easy way to reverse the order of the bits in a byte in C++? (i.e. 00000001 becomes 10000000)
0
8826
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8503
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8605
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7330
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6166
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5632
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4155
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4306
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
1615
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.