我正在查看 System.Net 命名空间,它有一个您可以使用的 IPAddress 实例。这有一个 Parse 方法,您可以使用该方法将字符串解析为 IPInstance,然后使用 Address 属性为您提供 long 值。
然而...
返回的数字不是真正的转换。
例如对于 IP 58.0.0.0 , System.Net 命名空间给了我一个 58 的值......事实上,整数值应该是 973078528
有人可以告诉我正确的代码来转换它吗?
公式应该是..(对于 ip 192.1.20.10)。
192 * (256*256*256) + 1 * (256*256) + 20 * (256) + 10
这个公式正确的原因是它返回的数字可以在 >= 和 <= 查询中用于确定某个范围内的 IP 地址。
(IPAddress 实例的)地址属性不计算/返回此值。任何知道为什么地址属性不返回我认为正确答案的人的奖励点......
其他链接中的其他示例也不起作用。