如何解决“System.Net.IPAddress.Address 已过时”的问题?

微wx笑
Java领域优质创作者
博客专家认证
2009-02-12 09:49:17
要实现将IP地址转为数字的功能:
public static long getIP(string ip)
{
System.Net.IPAddress add = System.Net.IPAddress.Parse(ip);
return add.Address;
}

但编译的时候却提示:
警告 1 “System.Net.IPAddress.Address”已过时:“
This property has been deprecated. It is address family dependent.
Please use IPAddress.Equals method to perform comparisons. http://go.microsoft.com/fwlink/?linkid=14202”

虽然还可以用,但我想知道新的解决方法,请高手指教!

问题补充:IPAddress.Equals方法 只能用于比较
System.Net.IPHostEntry也没有提供对应的功能。
...全文
2108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaobin170231513 2012-02-23
  • 打赏
  • 举报
回复
没有更好的方法吗?
_lee_chong 2011-09-06
  • 打赏
  • 举报
回复
、、、我专门做过测试了、、
用 IPAddress.GetHashCode()替代 IPAddress.Address
#3那个返回的是IP地址的byte[];
比如 111.123.124.125返回 {111,123,124,125}
ijunxiong 2009-07-01
  • 打赏
  • 举报
回复
还没发现有替换的方法,顶下,,,估计是因为ip6吧。。
GaoFX 2009-06-04
  • 打赏
  • 举报
回复
这只是一个警告,不是错误,只是不建议你继续使用这个了。
可以使用IPAddress.GetAddressBytes 替代。
SZSEAWIND 2009-06-04
  • 打赏
  • 举报
回复
[DllImport("Ws2_32.dll")]
static extern int inet_addr(string ipaddr);//IP.Address已过时用,这代替;

如:inet_addr("10.10.6.30");
bigeyescat 2009-02-12
  • 打赏
  • 举报
回复
已过时?是不是用VS2008?已过时也不影响的的,只是提醒你的新的方法代替,查下帮助应该例子

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧