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

关于GetHashCode用法,该怎么处理

2013-01-11 
关于GetHashCode用法需要做一个能转发在线用户列表的聊天服务器 以下各句代码的具体作用是什么呢?2001表示

关于GetHashCode用法
需要做一个能转发在线用户列表的聊天服务器 以下各句代码的具体作用是什么呢?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


[解决办法]
引用:
??哎 我只是想知道这个gethashcode的用法。。。


每个控件/元素定义的时候,系统都会为其分配一个系统中的唯一标识值,int整型的,通过这个hashcode你可以判断两个元素是不是同一个元素,或者是否属于同一代的(如一个循环中,一个变量被循环定义与赋值,那么不同次的定义就属于不同的代).

热点排行