当前位置: 代码迷 >> .NET分析设计 >> 关于GetHashCode用法,该如何解决
  详细解决方案

关于GetHashCode用法,该如何解决

热度:9251   发布时间:2013-02-25 00:00:00.0
关于GetHashCode用法
需要做一个能转发在线用户列表的聊天服务器 以下各句代码的具体作用是什么呢?2001表示登陆成功。还望各位给我指点下,能否在重点代码上加个注释?? 
C# code
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