c# - 使用c#获取本地系统ip地址

标签 c#

我正在寻找一种方法,该方法可以识别系统是否连接到网络或在系统上安装虚拟机时获取本地 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/

相关文章:

c# - 将字符串从 WPF 保存到 MySQL varchar

c# - 在 MVVM 中将值从子模型传递给父模型

Java多维数组到C#

c# - 如何在 .NET 中以编程方式获取另一个位置的时间?

c# - 如何使用 linq 对数据表中的多列进行分组?

c# - 无法在 DropDownButton 中组织数据

c# - 图表控件去除标签箭头

c# - 需要一种不显眼的日志记录方法

c# - DbProviderFactory 失败

c# - 如何设置打开窗口时的页面大小?