gpt4 book ai didi

c# - 对字典对象进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:26 24 4
gpt4 key购买 nike

我有一个字典对象:

Dictionary<string, string[]> dictCompanies = new Dictionary<string, string[]>();

如何根据键对该对象进行排序?

我试过像下面这样使用 OrderBy,但它似乎不起作用

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

我将这个字典对象绑定(bind)到 aspx 页面中的复选框列表。

我尝试使用委托(delegate)对这个 ListItemCollection 进行排序...但仍然没有成功...

我是不是漏掉了什么?

谢谢

最佳答案

您无法对实际的 Dictionary<TKey,TValue> 进行排序- 从中出来的订单项目基本上是由内部实现决定的。你可能想看看 SortedDictionary<TKey,TValue> SortedList<TKey,TValue> 虽然 - 他们仍然有键/值查找,但允许您根据键进行排序。您可以指定自己的 IComparer<T>如果您想以特定方式按键订购。

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

如果您的 OrderBy 语句真的像那样独立,顺便说一句,您需要了解 LINQ 运算符总是运算符总是采用一个序列并返回一个不同的序列(或聚合结果)——它们从不修改中的序列-地方。事实上,他们不能像IEnumerable<T>是只读接口(interface)。

关于c# - 对字典对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/472137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com