在C#中格式化IP地址

sar*_*ake 2 c# ip-address

我用这个hostInfo.AddressList来获取机器的ip地址.它以字母格式返回,例如ff80 :: c9c9:b2af:aa0f:e2d2%12,我想要的是将其格式化为IP地址格式(数字).

有帮助吗?

使用c#,.net 3.5

Bri*_*ndy 6

您提供的格式是表示IPv6地址的正确方法.不存在用于表示IPv6地址的ABCD格式.

发生了什么事情,你得到的是IPv4和IPv6的地址列表.你正在寻找IPv4的.

string GetFirstIPv4Address()
{
    IPAddress[] addressList = Dns.GetHostAddresses(hostname);

    foreach (IPAddress ip in addressList)
    {
        if (ip.AddressFamily.ToString() == "InterNetwork")
        {
            //This is an IPv4 address
            return ip.ToString();
        }
    }
    return "127.0.0.1";
}
Run Code Online (Sandbox Code Playgroud)