请问字典没有索引吗? Dictionary 类:http://msdn.microsoft.com/zh-cn/library/xfhwa508(v=VS.100).aspx请问,字典没有索引吗?像集合一样,可以根据键值得到索引,难道它是随机乱排的吗?为什么不能根据键值得到索引的方法呢?从字典中取值,是不是每一次取值的顺序都是一样的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应该用 HashTable。字典的键是唯一的,何谈顺序? HashTable,有个概念叫“哈希代码”?不懂,难学吗? 你可以用 Enumerable.ToList方法把字典的值转为List再用索引 HashCode可以重复的。而Dictionary的Key则不可以重复。GetHashCode() 可以被重载。你可以实现自己的 Hash 算法。具体可以看《数据结构》教材。 HashTable也是无序的...集合本无序,List之类的有序集合是特意设计的... 恩它不会按add的顺序去遍历但是我觉得LZ想的比较怪。有Key能直接定到值的干嘛要它有序呢? 因为,从左到右,有很多label,取出来后,我需要从左到右在label上运用比如:键值是1、2、3、4、5、6、7、8、9、........那么,取出来后,我遍历label,编译器好像是从左到右遍历label的,因此,刚好,从左到右的label上,也是从1、2、3、4、5、6、......那样,从小到大运用的前几天还可以,但今天,不知道为什么最后几位键值对跑到前边去了(最左边) Linq查询,我还没学,麻烦写个公式,我先用上,从键值对中取出后,在新的List中排好序 按照值排序:Dictionary<T1, T2> dict = new Dictionary<T1, T2>();...dict = dict.OrderBy(x => x.Value).ToDictionary(x => x.Key, y => y.Value);按照键排序:Dictionary<T1, T2> dict = new Dictionary<T1, T2>();...dict = dict.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value); 十进制数如何转成 二进制数 (不用计算器,也不用.net自带函数) .NEt网络编程。报错:不支持此协议版本 关于线程中控制进度条问题内. 在vs2005 编辑器里怎么隐藏控件的显示 asp.net里如何引用OCX控件呢? 我是新入门.net的新手,请问asp.net和c#、vb.net的侧重的开发领域是 ? 谁会用virtualPC建虚拟网? 求一个CheckBoxList的帮助 WCF问题 - 大数据做参数,文件传输 有较长时间的C++经验,熟悉JAVA语法,因需要须学C#,请推荐合适书籍 C# 委托事件如何处理返回的错误 监控系统
你可以用 Enumerable.ToList方法把字典的值转为List再用索引
而Dictionary的Key则不可以重复。GetHashCode() 可以被重载。你可以实现自己的 Hash 算法。具体可以看《数据结构》教材。
恩它不会按add的顺序去遍历但是我觉得LZ想的比较怪。有Key能直接定到值的干嘛要它有序呢?
比如:键值是1、2、3、4、5、6、7、8、9、........
那么,取出来后,我遍历label,编译器好像是从左到右遍历label的,因此,刚好,从左到右的label上,也是从1、2、3、4、5、6、......那样,从小到大运用的
前几天还可以,但今天,不知道为什么最后几位键值对跑到前边去了(最左边)
从键值对中取出后,在新的List中排好序
Dictionary<T1, T2> dict = new Dictionary<T1, T2>();
...
dict = dict.OrderBy(x => x.Value).ToDictionary(x => x.Key, y => y.Value);按照键排序:
Dictionary<T1, T2> dict = new Dictionary<T1, T2>();
...
dict = dict.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);