任何人都知道为什么当我运行此代码

            IPHostEntry
         IPHost = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
        foreach
         (var
         ipAddress in
         IPHost.AddressList)
        {

            IPlabel.Content = ipAddress;
        }


它以以下格式返回:2001:1:9d39:6 ...?

我希望以IPv4的格式获取它:xxx.xxx.xxx.xxx

不知道他们的帖子是否重复,我已经找了一段时间。我可能没有使用正确的搜索关键字

感谢您可以提供的任何帮助和/或帖子。

最佳答案

我相信这里已经回答了吗?
Getting the ip-address

// return the first IPv4, non-dynamic/link-local, non-loopback address
public static IPAddress GetIPAddress()
{
    IPAddress[] hostAddresses = Dns.GetHostAddresses("");

    foreach (IPAddress hostAddress in hostAddresses)
    {
        if (hostAddress.AddressFamily == AddressFamily.InterNetwork &&
            !IPAddress.IsLoopback(hostAddress) &&  // ignore loopback addresses
            !hostAddress.ToString().StartsWith("169.254."))  // ignore link-local addresses
            return hostAddress;
    }
    return null; // or IPAddress.None if you prefer
}

关于c# - 获取IP地址WPF和C#显示问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31954192/

10-10 15:54