读书人

关于 hashtable 存储有关问题

发布时间: 2012-01-01 23:10:55 作者: rapoo

关于 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

读书人网 >C#

热点推荐