Brad Wilson <[EMAIL PROTECTED]> wrote: > Dictionaries of identical size with identical items will enumerate > identically.
That's not true. The common strategies that hash tables use to resolve conflicts, i.e. chaining, re-hashing and probing, all have dependencies on the order of insertion. For example, the following program prints out two different sequences: ---8<--- using System; using System.Collections; using System.Collections.Generic; using System.Text; class App { static void Main() { Dictionary<string,int> dict = new Dictionary<string,int>(); // Add in order for (int i = 1; i <= 10; ++i) dict.Add(i.ToString(), i); Console.WriteLine(ToString(dict, ", ")); // Add in reverse order dict.Clear(); for (int i = 10; i >= 1; --i) dict.Add(i.ToString(), i); Console.WriteLine(ToString(dict, ", ")); } static string ToString(IEnumerable items, string separator) { StringBuilder result = new StringBuilder(); foreach (object item in items) result.Append(item).Append(separator); if (result.Length > 0) result.Length -= separator.Length; return result.ToString(); } } --->8--- -- Barry -- http://barrkel.blogspot.com/ =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com