关于GetHashCode用法

zwyzoe 2011-04-16 02:11:44
需要做一个能转发在线用户列表的聊天服务器 以下各句代码的具体作用是什么呢?2001表示登陆成功。还望各位给我指点下,能否在重点代码上加个注释??
foreach (ClientService item in clietn)
{
if (item.mysock.GetHashCode() == model.TcpClientHashCode)
{
item.SendMessage(loginState);
if (loginState == "2001")
{
foreach (OnlineModel onLineItem in onlineList)
{
if (onLineItem.TcpClientHashCode != model.TcpClientHashCode)
{
string userId = onLineItem.UserId.ToString();
while (true)
{
if (userId.Length == 4)
{
break;
}
userId = userId.Insert(0, "0");
}
string userName = onLineItem.UserName;
int len = userName.Length;
while (true)
{
if (userName.Length == len)
{
break;
}
//userName = userName.Insert(len, " ");
userName = userName.PadRight(len);
}
string gender = onLineItem.Gender.ToString();
string message = userId + userName + gender + "0";
string length = message.Length.ToString();
while (true)
{
if (length.Length == 4)
{
break;
}
length = length.Insert(0, "0");
}
item.SendMessage(length + message);
}
}
}
break;
}
}
#endregion

#region 通知其他用户上线信息

if (loginState == "2001")//通知其他用户
{
foreach (OnlineModel item in onlineList)
{
foreach (ClientService clientItem in clietn)
{
if (item.TcpClientHashCode == clientItem.mysock.GetHashCode() && item.TcpClientHashCode != loginUse.TcpClientHashCode)
{
string userId = loginUse.UserId.ToString();
while (true)
{
if (userId.Length == 4)
{
break;
}
userId = userId.Insert(0, "0");
}
string userName = loginUse.UserName;
int len = userName.Length;
while (true)
{
if (userName.Length == len)
{
break;
}
//userName = userName.Insert(len, " ");
userName = userName.PadRight(len);
}
string gender = loginUse.Gender.ToString();
string message = userId + userName + gender + "0";
string length = message.Length.ToString();
while (true)
{
if (length.Length == 4)
{
break;
}
length = length.Insert(0, "0");
}
clientItem.SendMessage(length + message);
}
}
}
}
#endregion
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
manager2000 2011-09-13
  • 打赏
  • 举报
回复
??哎 我只是想知道这个gethashcode的用法。。。
全栈深入 2011-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zwyzoe 的回复:]
??哎 我只是想知道这个gethashcode的用法。。。
[/Quote]

每个控件/元素定义的时候,系统都会为其分配一个系统中的唯一标识值,int整型的,通过这个hashcode你可以判断两个元素是不是同一个元素,或者是否属于同一代的(如一个循环中,一个变量被循环定义与赋值,那么不同次的定义就属于不同的代).
zwyzoe 2011-04-16
  • 打赏
  • 举报
回复
??哎 我只是想知道这个gethashcode的用法。。。

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧