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

C#判断某IP是不是属于预设的IP段

2012-10-16 
C#判断某IP是否属于预设的IP段C# codeint tmpIpNumber inIP1 * 256 * 256 * 256 + inIP2 * 256 * 256 +

C#判断某IP是否属于预设的IP段

C# code
                        int tmpIpNumber = inIP1 * 256 * 256 * 256 + inIP2 * 256 * 256 + inIP3 * 256 + inIP4;                        //需要判断的IP                        if (xmlIP.IndexOf("-") != -1)                        //IP段是以如192.168.0.3-192.168.0.200形式界定的                        {                            string[] IPToIP = xmlIP.Split('-');                            string IPToIP1 = IPToIP[0];                            string IPToIP2 = IPToIP[1];                            string[] ToIP1s = IPToIP1.Split('.');                            string[] ToIP2s = IPToIP2.Split('.');                            int IP1Number = int.Parse(ToIP1s[0]) * 256 * 256 * 256 + int.Parse(ToIP1s[1]) * 256 * 256 + int.Parse(ToIP1s[2]) * 256 + int.Parse(ToIP1s[3]);//IP段开始                            int IP2Number = int.Parse(ToIP2s[0]) * 256 * 256 * 256 + int.Parse(ToIP2s[1]) * 256 * 256 + int.Parse(ToIP2s[2]) * 256 + int.Parse(ToIP2s[3]);//IP段结束                            if (IP1Number < tmpIpNumber && tmpIpNumber < IP2Number)                            {                                                                 return true;                            }                        }


上面得到的tmpIpNumber,IP1Number,IP2Number 的值是负数,请问是为什么,这样的方式不行吗?请指点。谢谢。

[解决办法]
把int换成long,已经int 的最大值了

热点排行