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 的最大值了