在C#中从主机获取IP

时间:2014-03-12 19:15:36

标签: c#

嗨我想要获取主机的IP,我发现的代码是:

    string howtogeek = "www.google.com";
    IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
    foreach (IPAddress theaddress in addresslist)
    {
        test.AppendText(theaddress.ToString() + Environment.NewLine);
    }

问题是我只获得了第一个没有使用foreach的IP,因为我只想要第一个,任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

你可以使用:

string howtogeek = "www.google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
var firstIp = addresslist[0]; 

根据您使用的框架,您还可以使用Enumerable.FirstOrDefault()

string howtogeek = "www.google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
var firstIp = addresslist.FirstOrDefault(); 

答案 1 :(得分:0)

通常一台机器可以有多个ip地址。如果只有一个网络适配器XX,则至少有两个ip:网络适配器XX ip和环回127.0.0.1。 也就是说,您可以使用以下代码获取第一个IP:

string howtogeek = "www.google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
if(addresslist.Lengt > 0){
   test.AppendText(addresslist[0].ToString() + Environment.NewLine);
}

答案 2 :(得分:0)

第一个IP地址将是

string howtogeek = "www.google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
IPAddress firstAddress = addresslist[0];