This is FANTASTIC information. I've been searching a lot on the topic of Dictionary Vs. Hash tables myself.
Many thanks for sharing it along. -Abhijeet On Wednesday, 1 August 2012 17:31:09 UTC+5:30, Parke wrote: > > Rahul: > > In part, I am going to cheat and refer to the following two articles. > > VB6 Collection, VBScript Dictionary, and VB.NET Hashtable > http://visualbasic.about.com/od/usingvbnet/l/aa070903a.htm > http://visualbasic.about.com/od/usingvbnet/l/aa071203a.htm > > In terms of speed, within QTP, I cannot picture having more than a few > hundred key/value pairs so the difference in speed would not be > important. > > What I really like about the .net hashtable and dictionary objects is > the use of contains. We can easily find if a value exists by using > myHash.ContainsValue("looking for this value"). Much nicer/quicker > than creating the valueArray and then searching the array or creating > other code to check for existence. > > There is the problem with vbscript dictionary of accidentally creating > a key with a value of null. A while back, I ran across an article > that discussed some of the problems with the vbscript dictionary but I > cannot seem to find the article at the moment. > > There are several different types of .net dictionaries depending upon > needs. > > http://stackoverflow.com/questions/301371/why-is-dictionary-preferred-over-hashtable > > (item 55 lists five types). > > To deviate from the question, I expect the ArrayList will be the main > .NET item I will use. The array list allows insertion at a specified > position, removal of an item, sorting. All this without writing > additional functions. The only problem with the sort is - it is not > numerical. http://www.learnqtp.com/dotnetfactory-qtp-part7-arraylist/ > does a beautiful job of demonstrating its methods. > > hth, > > > Parke > > On 7/31/12, iRahulSingh <[email protected]> wrote: > > Nice Info Parke ... thanx for sharing. > > > > Would like to ask if you can share your thoughts, would there be any > > specific benefits/advantage of using "System.Collections.Hashtable" over > > existing Dictionary objects may be in terms of memory saving or > execution > > time ?? > > > > > > Cheers.. > > Rahul > > > > On Monday, July 30, 2012 8:11:12 PM UTC+5:30, Parke wrote: > > > >> We can use the hashtable from .Net within QTP and list the keys and > >> values > >> > >> Set myHash = > >> DotnetFactory.CreateInstance("System.Collections.Hashtable") > >> Set myEnumerator = > >> > DotnetFactory.CreateInstance("System.Collections.IDictionaryEnumerator") > >> > >> myHash.add "a", "apple" > >> myHash.add "o", "orange" > >> myHash.add "r","red" > >> myHash.add "b", "blue" > >> > >> Set myEnumerator = myHash.getEnumerator > >> > >> ' using contains returns true or false > >> print "contains B " & myHash.Contains("B") > >> print "contains b " & myHash.Contains("b") > >> print "hash contains value red " & myHash.ContainsValue("red") > >> print "value for o = " & myHash.Item("o") > >> print "number of keys = " & myHash.count > >> > >> While myEnumerator.movenext > >> print "key " & myEnumerator.Key & ":: value " & > myenumerator.value > >> > >> Wend > >> > >> Have fun playing with it. > >> > >> > >> Parke > >> > > > > -- > > You received this message because you are subscribed to the Google > > "QTP - HP Quick Test Professional - Automated Software Testing" > > group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > For more options, visit this group at > > http://groups.google.com/group/MercuryQTP?hl=en > > > > > -- > Parke > Cell: 770-842-0121 > -- You received this message because you are subscribed to the Google "QTP - HP Quick Test Professional - Automated Software Testing" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/MercuryQTP?hl=en
