关于 hashtable 存储问题
foreach(DictionaryEntry e in htClient)
{
if(((Socket)e.Key)==accSock)
{
htClient.Remove(accSock);
htClient.Add(accSock,Rec);
break;
}
Thread.Sleep(5);
}
功能描述: hashtable 存储已经连接的SOCKET,在其中寻找相应的SOCKET(KEY),并把相应SOCKET发送的数据(Rec)存入VALUE,形成Key / Value 形式.
问题描述:通过跟踪调试,能顺利添加第一个SOCKET 的值(value),形成预期的 Key / Value ,但是,无法添加第二个SOCKET的值(value).
求助:希望各位,能帮助解决,十分感谢!
------解决方案--------------------干吗要对hasttable用foreach??
你直接写好了
if(htClient[accSock] == null)
{
htClient[accSock] = Rec;
}
不知道是不是符合楼主的意思?
------解决方案--------------------是不是你的key都一样的?
最好不要用hashtable.Add(key, value)这样的形式来添加item, 用这个方式:
hashtable[key]=value;
这样不会有Exception, 而且key相同的话, 会直接覆盖原来的value