У меня есть словарь, где ключом является дата, а значением является объект. есть ли так или иначе, я могу гарантировать, что когда я перебираю эту коллекцию в хронологическом порядке, всегда даже после добавления и удаления элементов.
Вам нужно использовать SortedDictionary
Вы можете использовать LINQ:
foreach(var kvp in dictionary.OrderBy(kvp => kvp.Key)) { //Use kvp.Key and kvp.Value }
Вы можете использовать SortedList: http://msdn.microsoft.com/en-us/library/ms132319.aspx или SortedDictionary: http://msdn.microsoft.com/en-us/library/f7fta44c.aspx