嗨我想要获取主机的IP,我发现的代码是:
string howtogeek = "www.google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(howtogeek);
foreach (IPAddress theaddress in addresslist)
{
test.AppendText(theaddress.ToString() + Environment.NewLine);
}
问题是我只获得了第一个没有使用foreach的IP,因为我只想要第一个,任何人都可以帮助我吗?
答案 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];