C#:当你枚举它时,SortedDictionary是否排序?

Svi*_*ish 7 c# sorting dictionary enumeration

SorteDictionary是根据MSDN按键排序的.这是否意味着当您在foreach中枚举它时,您可以确定它将被排序?或者它只是意味着SortedDictionary在内部以这种方式工作以在各种情况下具有更好的性能?

Sam*_*ron 10

来自MSDN:

使用内部树以排序顺序维护字典.每个新元素都定位在正确的排序位置,并且调整树以在删除元素时保持排序顺序.枚举时,维护排序顺序.


Mar*_*age 6

当您枚举集合时,它按键排序(即使您枚举说Values集合)。该集合在内部实现为二叉搜索树(根据文档)。值的插入和查找都是 O(log n)(意味着它们非常有效)。