当前位置:  开发笔记 > 编程语言 > 正文

对字典对象进行排序

如何解决《对字典对象进行排序》经验,为你挑选了1个好方法。

我有一个字典对象:

Dictionary dictCompanies = new Dictionary();

如何在键上对此对象进行排序?

我尝试使用下面的OrderBy,但它似乎没有用

dictCompanies .OrderByDescending(c=> c.Key); 

我将这个字典对象绑定到aspx页面中的checkboxlist.

我尝试使用委托对这个ListItemCollection进行排序......但仍然没有运气......

我错过了什么吗?

谢谢



1> Jon Skeet..:

您不能对实际进行排序Dictionary- 来自它的订单项基本上由内部实现决定.你可能想看看SortedDictionarySortedList虽然-他们仍然有键/值查找,但让你基于键进行排序.IComparer如果您想以特定方式按键排序,则可以指定自己的.

另一种选择(取决于你的情况)是坚持字典直到你需要它 - 然后将其复制到列表中并在绑定到控件之前对其进行排序.显然,此时你需要在每次更改时刷新绑定,但这对你来说可能不是问题.

如果您的OrderBy语句本身就是这样,那么顺便说一句,您需要了解LINQ运算符始终是运算符总是采用序列并返回不同的序列(或聚合结果) - 它们永远不会就地修改序列.实际上,它们不能像IEnumerable只读界面那样.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有