using System; using System.Collections.Generic; using System.Linq; class TestSpeed { static void Main() { Dictionary ordinaryDict = new Dictionary(); SortedDictionary sortedDict = new SortedDictionary(); Console.WriteLine("Load time:"); DateTime start = DateTime.Now; for (int i = 0; i <= 1234567; i++) { ordinaryDict[i] = i; } DateTime end = DateTime.Now; Console.Write("Dictionary = "); Console.WriteLine(end - start); start = DateTime.Now; for (int i = 0; i <= 1234567; i++) { sortedDict[i] = i; } end = DateTime.Now; Console.Write("SortedDictionary = "); Console.WriteLine(end - start); Console.WriteLine(); Console.WriteLine("Foreach time:"); start = DateTime.Now; foreach (var item in ordinaryDict) { // ordinaryDict - not sorted } end = DateTime.Now; Console.Write("Dictionary (not sorted) = "); Console.WriteLine(end - start); start = DateTime.Now; foreach (var item in ordinaryDict.OrderBy(x => x.Key)) { // ordinaryDict.OrderBy } end = DateTime.Now; Console.Write("Dictionary (Order.By) = "); Console.WriteLine(end - start); start = DateTime.Now; foreach (var item in sortedDict) { // sortedDict } end = DateTime.Now; Console.Write("SortedDictionary = "); Console.WriteLine(end - start); Console.WriteLine(); Console.WriteLine(); } }