在C#:获取IP地址
IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName());
for (int i = 0; i < IPHost.AddressList.Length; i++)
{
textBox1.AppendText("My IP address is: "
+ IPHost.AddressList[i].ToString() + "\r\n");
}
在这段代码中,IPHostEntry
变量包含计算机的所有IP地址。 现在,据我所知,Windows vista以十六进制方式返回一些IP地址,其中一些以十进制表示法等等。
的问题是,这是所期望的十进制记数法中的IPHostEntry
变量改变其位置:它最初是在最后的位置存在的,因此可以与代码访问:
string ipText = IPHost.AddressList[IPHost.AddressList.Length - 1].ToString();
但是改变后计算机的IP地址,它现在出现在2日最后一个位置,因此需要使用代码访问:
string ipText = IPHost.AddressList[IPHost.AddressList.Length - 2].ToString();
是否有十进制获取IP地址不论其位置的任何代码在IPHostEntry
变量?
恐怕你会一直困惑,除非你自己意识到是什么让你寻找的一个IP地址更适合你的目的而不是所有其他的IP地址。依靠神奇的,无证的订单来回报价值是不好的做法。 – 2009-06-22 20:32:27