小编sau*_*abh的帖子

获取IP地址

在C#中:

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");
}
Run Code Online (Sandbox Code Playgroud)

在此代码中,IPHostEntry变量包含计算机的所有IP地址.现在,据我所知,Windows vista返回一些十六进制的IP地址,一些是十进制表示法,依此类推.

问题是所需的十进制表示法改变了它在IPHostEntry变量中的位置:它最初出现在最后一个位置,所以可以用代码访问:

string ipText = IPHost.AddressList[IPHost.AddressList.Length - 1].ToString();
Run Code Online (Sandbox Code Playgroud)

但是,在更改计算机的IP地址后,它现在显示在第二个最后位置,因此需要使用以下代码进行访问:

string ipText = IPHost.AddressList[IPHost.AddressList.Length - 2].ToString();
Run Code Online (Sandbox Code Playgroud)

是否有任何代码以十进制表示法检索IP地址,而不管它在IPHostEntry变量中的位置?

.net c# ip-address

4
推荐指数
1
解决办法
2701
查看次数

标签 统计

.net ×1

c# ×1

ip-address ×1