RegistryKey.GetSubKeyNames中的元素顺序

Sil*_*eth 2 .net c#

函数以什么顺序RegistryKey.GetSubKeyNames返回子键?它们是按字母顺序排列的吗?或者它们是否处于与注册表中存储相对应的随机顺序?

我已经完成了多次搜索并检查了MSDN,但我还没有找到明确的答案.理想情况下,MSDN会声明密钥出来排序或明确说明他们的订单是随机的......

我想知道的原因是我想编写代码来检测注册表中所有版本的COM类.它们的名称类似于<base-name> 13,<base-name> 14等.如果按键排序,我可以找到匹配的第一个,迭代所有匹配我的搜索,并短路一旦密钥不再匹配我的搜索.然后我不必遍历所有子键.

Ray*_*hen 5

由于文档不保证任何特定订单,您不能承担任何特定订单.如果您需要特定订单,您必须自己排序.(订单不是随机的,但也没有排序.)