.Net IPAddress IPv4

Bel*_*iez 8 .net c# vb.net ip-address

我有以下代码:

Dim ipAdd As IPAddress = Dns.GetHostEntry(strHostname).AddressList(0)
Dim strIP As String = ipAdd.ToString()
Run Code Online (Sandbox Code Playgroud)

当我转换为String而不是像192.168.1.0或类似的IPv4地址时,我得到IPv6版本:fd80 :: 5dbe:5d89:e51b:d313地址.

有没有办法可以从IPAddress类型返回IPv4地址?

谢谢

dtb*_*dtb 16

您可以获取第一个IPv4地址,而不是无条件地获取AddressList的第一个元素:

var address = Dns.GetHostEntry(strHostname)
                 .AddressList
                 .First(ip => ip.AddressFamily == AddressFamily.InterNetwork);
Run Code Online (Sandbox Code Playgroud)