MultiMap tempMap = new MultiMap(); tempMap.Add("1", "one"); tempMap.Add("2", "two"); tempMap.Add("3", "three"); tempMap.Add("3", "duplicate three"); Console.WriteLine(myMap["3"][0]); Console.WriteLine(myMap["3"][1]);As you can see we have added two entries to the "3" key of our Hashtable. We can also use a foreach loop to enumerate the contents.
foreach (DictionaryEntry mapentry in tempMap) { Console.Write(mapentry.Key.ToString()); foreach (object arrayentry in tempMap[mapentry.Key]) { Console.Write(arrayentry.ToString()); } }Or something like that, the real advantage to using a data structure like this is that you can optimize your algorithms to suite you object graph/application profile. The multimap approach may not fit your requirments but a data structure would be a better approach to 700+ properties (IMHO).