you can do it 2 ways
Hashtable ht = new Hashtable();ht.Add("one","1");ht.Add("two","2");ht.Add("three","3");string[] vals = new string[ht.Count];ht.Values.CopyTo(vals,0);for(int i=0;i<keys.Length;i++){ Response.Write(vals[i].ToString());}
Hashtable ht = new Hashtable();ht.Add("one","1");ht.Add("two","2");ht.Add("three","3");string[] keys = new string[ht.Count];ht.Keys.CopyTo(keys,0);for(int i=0;i<keys.Length;i++){ Response.Write(ht[keys[i]].ToString());}
For whatever reason when the Hashtable is copied it is copied backwards. You will see what I mean when you run the code.You can fix that by running hte for loop like this
for(i=keys.Length-1;i>=0;i--){ //i didn't test this part so it might be off a bit}
EDIT: oops I didn't see pulpfictions post. His solution looks cleaner.