2012-11-24 63 views
3

我有IPv6字符串,并且我想创建IPAddress对象。我尝试下面的代码.NET IPAddress类正在将IPv6转换为映射的IP地址

String ipString = "2400:3C00:3FFE:0000:0000:5EFE:8999:48AA"; 
System.Net.IPAddress address; 
IPAddress.TryParse(ipString, out address); 

但address.ToString()的返回值 “2400:3c00:3FFE :: 5EFE:137.153.72.170”。

为什么这已被转换为混合IP?

回答

1

这是,AFAIK,发生在Windows 2003 + XP(可能是Vista,但我不确定),因为它们实现了IPv6。在新的操作系统上,它会好的。

+0

我在Windows 7和Windows Server 2008 R2上都得到了这个。 –

+0

我一直在使用VS2012在Windows 7上尝试此操作。一些IPv6地址工作正常(:: 1,我的本地IP)。其他人展示你所看到的。不知道为什么。 –

+0

我也面临同样的问题。如果我改变了两个连续的零它适用于“2400:3C00:3FFE:1000:1000:5EFE:8999:48AA” –