110,533
社区成员
发帖
与我相关
我的任务
分享
// IP字符串->长整型值
public static uint IpStringToInt(string IpString)
{
uint Ipv = 0;
string[] IpStringArray = IpString.Split('.');
int i;
uint Ipi;
for (i = 0; i < 4 && i < IpStringArray.Length; i++)
{
if (IsNumeric(IpStringArray[i]))
{
Ipi = (uint)Math.Abs(Convert.ToInt32(IpStringArray[i]));
if (Ipi > 255) Ipi = 255;
Ipv += Ipi << (3 - i) * 8;
}
}
return Ipv;
}
// 字符串数值型判断
public static bool IsNumeric(string s)
{
if (s != null && System.Text.RegularExpressions.Regex.IsMatch(s, @"^-?\d+$"))
return true;
else
return false;
}
public static long ConvertIPToLong(string ipAddress)
{
System.Net.IPAddress ip;
if (System.Net.IPAddress.TryParse(ipAddress, out ip))
{
byte[] bytes = ip.GetAddressBytes();
return (long)(((long)bytes[0] << 24) | (bytes[1] << 16) |
(bytes[2] << 8) | bytes[3]);
}
else
return 0;
}