• 不让Hashtable排序


    想使用Hashtable中的键/值对特性,但又发现在遍历Hashtable时,出来的顺序与之前添加进去的顺序不一样。

    后来,发现同样可以实现键/值对特性的结构SortedList类。看起来比Hashtable简单。

    如何实现,看下面代码:

    private SortedList _site = new SortedList(new NoSort());

    #region NoSort
      /// <summary>
      /// 不排序规则
      /// </summary>
      private class NoSort: IComparer
      {
       public int Compare(object x, object y)
       {
        return -1;
       }
      }
      #endregion

    遍历的代码如下:

    foreach(DictionaryEntry de in _site)
    {
         this.ddlSiteValue.Items.Add(new ListItem(de.Value.ToString(), de.Key.ToString()));
    }

    其实,并没有使用Hashtable,不过Hashtable应该也可以按这种思路实现。关键在于IComparer接口中的比较方法。

    用到集合排序的地方,一般都会继承该接口,自定义符合自己逻辑的实现。

  • 相关阅读:
    numpy基础篇-简单入门教程4
    杭电oj 多项式求和
    杭电oj 素数判定
    杭电oj 水仙花数
    杭电oj 求数列的和
    杭电oj 数值统计
    杭电oj 平方和与立方和
    杭电oj 求奇数的乘积
    杭电 oj 第几天?
    杭电 oj 成绩转换
  • 原文地址:https://www.cnblogs.com/luqingfei/p/1781242.html
Copyright © 2020-2023  润新知