事出于Hashtable,key
有一个字符串变量(string strR)
如果这个字符串值存在于hashtable中,那么我执行 hashtable.remove(strR);
但这是出错的。

解决方案 »

  1.   

    代码贴出来看看。string本来就是object的子类,Hashtable.Remove("xxx") 不会有错
      

  2.   

    Hashtable.Remove
    public virtual void Remove(
    Object key
    )
    Hashtable myHT = new Hashtable();
          myHT.Add( "1a", "The" );
          myHT.Add( "1b", "quick" );
          myHT.Add( "1c", "brown" );
          myHT.Add( "2a", "fox" );
          myHT.Add( "2b", "jumped" );
          myHT.Add( "2c", "over" );
          myHT.Add( "3a", "the" );
          myHT.Add( "3b", "lazy" );
          myHT.Add( "3c", "dog" );
          myHT.Remove( "3b" );
      

  3.   

    确实出错了,我用如下办法了:
    private static void htKey(string strkey)
        {
            foreach(object key in htDriectory.Keys)
            {
                if(strkey==key.ToString())
                {
                    htDriectory.Remove(key);
                }
            }
        }
      

  4.   

    删除不存在的Key当然会有异常,应该用Contains判断一下。if (htDriectory.Contains(strkey))
        htDriectory.Remove(strkey);