gpt4 book ai didi

c# - 根据键对字典进行就地排序

转载 作者:IT王子 更新时间:2023-10-29 03:42:40 24 4
gpt4 key购买 nike

我有一个 C# 字典

Dictionary<Person, int>

我想根据键(类 Person 中的一个字段)就地 对该字典进行排序。我该怎么做?互联网上所有可用的帮助都是列表,没有字典就地排序的特定示例。任何帮助将不胜感激!

最佳答案

您无法对 Dictionary<TKey, TValue> 进行排序- 它本质上是无序的。 (或者更确切地说,检索条目的顺序是特定于实现的。您不应该依赖它在版本之间以相同的方式工作,因为排序不是其设计功能的一部分。)

可以使用 SortedList<TKey, TValue> SortedDictionary<TKey, TValue> ,两者都按键排序(以可配置的方式,如果您将 IEqualityComparer<T> 传递给构造函数)- 这些对您有用吗?

注意名称中的“列表”一词SortedList - 它仍然是一本字典,因为它将键映射到值。它是在内部有效地使用列表实现的 - 因此它不是通过哈希码查找,而是进行二进制搜索。 SortedDictionary类似地基于二进制搜索,但通过树而不是列表。

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

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