C# 按值而不是键对 StringDictionary 进行排序
按值(而不是键)的顺序对 StringDictionary 进行排序(或迭代)的“最佳”方法是什么,
例如键 - 值
- 1 - X 标签
- 2 - 标签
- 3 - 其他标签
将给出
- 2 - 标签
- 3 - 其他标签
- 1 - X 标签
编辑 - 我的意思是“使用 .NET 2.0 功能”。对不起,我不好……
What is the 'best' way to sort (or iterate) over a StringDictionary in order of Value (not Key)
E.g. Key - Value
- 1 - X label
- 2 - A label
- 3 - Other label
would give
- 2 - A label
- 3 - Other label
- 1 - X label
EDIT - I meant to say "using .NET 2.0 features". Sorry, me bad...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 LINQ:
如果您仅限于 C# 2.0 功能,请使用以下命令:
注意:
如果您使用 StringDictionary 而不是 Dictionary,请查看 Anthony 的解决方案。
Use LINQ:
If you are restricted to C# 2.0 features, use this:
Note:
If you are using a StringDictionary instead of Dictionary, check out Anthony's solution.
使用
StringDictionary
类,这里是使用 LINQ 的OrderBy
的方法。假设您有 .NET 3.5。使用2.0,有点棘手。这是使用比较委托的方法。
所以实际的排序将在sortedDictionary 数组中。
Using the
StringDictionary
class, here is a method to use LINQ'sOrderBy
. Assumes you have .NET 3.5.Using 2.0, it's a bit trickier. Here's an approach using a Comparison delegate.
So the actual sort would be in the sortedDictionary array.