c# - .Net IP 地址 IPv4

标签 c# .net vb.net ip-address

我有以下代码:

Dim ipAdd As IPAddress = Dns.GetHostEntry(strHostname).AddressList(0)
Dim strIP As String = ipAdd.ToString()

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

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

谢谢

最佳答案

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

var address = Dns.GetHostEntry(strHostname)
                 .AddressList
                 .First(ip => ip.AddressFamily == AddressFamily.InterNetwork);

关于c# - .Net IP 地址 IPv4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2048132/

相关文章:

c# - 如何以小写形式显示网址?

c# - 在 MVC Entity Framework 中 PUT 复杂实体类型的正确方法是什么

c# - 使用c#生成不记名 token

c# - 检索当前用户的 Active Directory 组

c# - 如何将 `null` 转换为可空 int?我总是得到0

vb.net - 当按列排序可能不同时,使用 LINQ 对 DataTable 进行排序

c# - 将结构与 null 进行比较

.net - SQL/.NET TableAdapters - 如何在数据库或数据集中对计算列进行强类型化?

vb.net - Installshield自定义对话安装程序

c# - 使用 Interop 从 excel 获取最后一个非空列和行索引