【问题标题】:Sorting Hashtable on key Basis?根据键对哈希表进行排序?
【发布时间】:2012-03-07 15:14:35
【问题描述】:

如何在 c# 中根据键对哈希表进行排序。

例如。

Hastable hst  = new Hashtable ();
hst.Add("Key1","keyValue");
hst.Add("Key2","keyValue");
hst.Add("Key3","keyValue");

【问题讨论】:

标签: .net c#-4.0 hashtable


【解决方案1】:

如果需要排序的强类型哈希表,可以使用SortedDictionary<TKey, TValue>

var hst  = new SortedDictionary<string, string>();
hst.Add("Key1","keyValue");
hst.Add("Key2","keyValue");
hst.Add("Key3","keyValue");

如果你想坚持使用哈希表:

IEnumerable<DictionaryEntry> sortedEntries = hst.OrderBy(entry => entry.Key);

【讨论】:

    【解决方案2】:

    看看这个问题,那里的答案很棒。 Is it possible to sort a HashTable?

    哈希表通过将键映射到值来工作。此映射中隐含的概念是键未按任何特定顺序排序或存储。 不过,你可以看看SortedDictionary&lt;K,V&gt;.

    另一种选择是像您已经在做的那样构造哈希表,然后简单地从键构造一个排序集。您可以遍历该排序键集,根据需要从哈希表中获取相应的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2018-05-10
      • 2023-04-01
      相关资源
      最近更新 更多