Я знаю, что словарь не гарантирует, что порядок добавленных элементов сохраняется, я имею в виду, что после добавления многих элементов в словаре, если он пытается получить элемент с помощью метода elementAt (i) , Он может вернуть ожидаемый элемент.IDictionary свойства Exception.Data всегда сохраняет порядок?
Exception.Data - это IDictionary, поэтому мне было интересно, верно ли это в этом случае, потому что в документации на MSDN они используют foreach для перебора этого свойства, чтобы показать информацию, поэтому я предполагаю, что заказ хранится в этом случае.
Так что, в случае с Exception.Data, порядок добавляемых элементов сохраняется?
'IDictionary' не гарантирует никакого заказа, но реализация' IDictionary' может это сделать. Насколько я вижу, реализация в .NET 4.x - это внутренний класс ListDictionaryInternal, который, насколько я вижу, использует связанный список, который сохраняет порядок. Тем не менее, при отсутствии документации, гарантирующей такое поведение, было бы неразумно полагаться на нее. – Joe