[C#]巧妙获取正在使用的IPv4地址

话不多说,直接上代码:

System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
            Console.WriteLine("总数:" + addressList.Length.ToString());
            foreach (IPAddress add in addressList)
            {
                Console.WriteLine(add.ToString());
            }
            Console.WriteLine("==============分割一下================");
            foreach (IPAddress add in addressList)
            {
                try
                {
                    long a = add.ScopeId;                    
                }
                catch
                {
                    Console.WriteLine("筛选后的IPv4地址:" + add.ToString());
                }
            }

原理:

获取电脑名,获取IP列表。

筛选通过,ScopeId,查看说明可以知道ScopeId属性是对IPv6准备的,所以IPv4当然会报错,这样就成功筛选出了IPv4地址。

你可能感兴趣的:(Dot,NET)