c#中Hashtable 咋是這個樣子的呢

沒想到c#中的Hashtable插入相同主鍵的Object竟然報錯 :(

想將兩個Hashtable嵌套進行遍歷然後放到第三個Hashtable中,爲了節省遍歷時間,想把遍歷過去的項刪掉也不行,真是不爽!!!

   Hashtable vendor = new Hashtable();

  Hashtable store = new Hashtable();

  //對vendor和store賦值。。。

   Hashtable table = new Hashtable();
   foreach (string s in vendor.Keys)
   {
    string name = (string)vendor[s];
    string storeStr = "";        
    int i = 0;
    foreach(string t in store.Keys)
    {
     if(s.Equals(store[t]))
     {
      if( i==0 )
       storeStr += "(shopid="+t;
      else
       storeStr += " or shopid="+t;
      i++;
     }

      //本來想在這裏將遍歷過後的項移去的,估計foreach裏面的keys只是第一次取的,所有做移除操作會報錯
    }
    if(storeStr.Length != 0)  //沒有店鋪的不做插入
    {
     storeStr += ")";
     string[] str = new string[2];
     str[0] = name;
     str[1] = storeStr;
     //Console.WriteLine("vendorid="+s+"  name="+str[0]+"  storeStr="+str[1]);
     table.Add(s,str);
    }
   }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章