首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于 hashtable 存储有关问题

2012-01-01 
关于 hashtable 存储问题foreach(DictionaryEntryeinhtClient){if(((Socket)e.Key)accSock){htClient.Re

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

热点排行