Dictionary类:http://msdn.microsoft.com/zh-cn/library/xfhwa508(v=VS.100).aspx其Item属性的参数是字典的键,不像List类,索引是int型的数字,List的元素的排列顺序就按照它的索引值来排列的
,那请问,Dictionary的元素有没有排列顺序,如果有,是什么决定了这个顺序值,如果没有,那遍历的时候,它又是
怎么遍历的,是无序遍历的吗?

解决方案 »

  1.   

    SortedDictionary(Of TKey, TValue) 类
    的元素的顺序是怎么获得的,也就是int型的索引值
      

  2.   

    这种类型的排序是根据Of TKey中TKey的排序规则进行的,TKey的前提是能比较大小的。不然不太合适使用这个结构。
      

  3.   


    Dictionary<string, string> list = new Dictionary<string, string>();
    list.OrderBy(m => m.Key); //按key排序
    list.OrderBy(m => m.Value); //按value排序
    list.OrderBy(m => m.Key.Substring(1, 1)); //按key中的第2个字符进行排序
    也就是他的排序你必须要指定一个排序规则
      

  4.   

    http://topic.csdn.net/u/20080224/02/42824171-2246-40c2-8858-c63ca106a4b0.html?1604286828猛然一卡可能 ls 的 很好,但是搜了一下 ls的是不对的你看下这个帖子。
    Dictionary<(Of <(TKey, TValue>)>) 泛型类提供了从一组键到一组值的映射。字典中的每个添加项都由一个值及其相关联的键组成。通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictionary<(Of <(TKey, TValue>)>) 类是作为一个哈希表来实现的。这个就是Dictionary的定义,它是作为一个哈希表来实现的
    而大家都知道  hash 排序是没意义的建议你用这个SortedDictionary
      

  5.   

    http://hi.baidu.com/ensteinniesen/blog/item/70ea61fb20d68b314f4aea82.html