使用VB.net获取本地IPv4计算机

我正在尝试获取本地PC的IP地址,以及我的其他PC中的一个,它获得了v4地址,但是在这一个代码:
Dns.GetHostEntry(Dns.GetHostName).AddressList(0).ToString()

返回我猜的IPv6地址:

fe80::9c09:e2e:4736:4c62%11

我如何获得IPv4地址?

免责声明 – 我没有安装IPv6,并且可能有更好的方法来做到这一点,但以下内容将返回什么:
Dns.GetHostEntry(Dns.GetHostName()).AddressList
    .Where(a => !a.IsIPv6LinkLocal && !a.IsIPv6Multicast && !a.IsIPv6SiteLocal)
    .First()
    .ToString();

编辑 – 没注意到你在VB中问,所以我尝试将其翻译成:

Dim s As String = Dns.GetHostEntry(Dns.GetHostName()).AddressList _
    .Where(Function(a As IPAddress) Not a.IsIPv6LinkLocal AndAlso Not a.IsIPv6Multicast AndAlso Not a.IsIPv6SiteLocal) _
    .First() _
    .ToString()

这可能会爆炸,所以不要将其视为生产代码.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...