我正在寻找一种方法,该方法可以识别系统是否连接到网络或在系统上安装虚拟机时获取本地 IP 地址。 这是返回本地 IP 地址的代码:
public static string LocalIPAddress()
{
IPHostEntry host;
string localIP = "";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
localIP = ip.ToString();
}
}
return localIP;
}
但是当系统未连接到网络时,它会返回另一个虚拟机 IP 地址。
我也发现了这个方法
System.Net.NetworkInformation.NetworkInterface.isconnected
方法可用,但即使拔掉网线也会返回 true。
有什么方法可以查出系统是否已连接?
最佳答案
以下行将获取您的本地 IP 地址
string ipadress = Dns.GetHostEntry(Dns.GetHostName())
.AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork)
.ToString();
关于c# - 使用c#获取本地系统ip地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709427/