在C#中获取IP地址的最佳实践是使用System.Net.NetworkInformation
命名空间中的NetworkInterface
类。以下是一个简单的示例代码,演示如何获取本地计算机上所有网络接口的IP地址:
using System; using System.Net; using System.Net.NetworkInformation; class Program { static void Main() { NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface networkInterface in networkInterfaces) { if (networkInterface.OperationalStatus == OperationalStatus.Up) { IPInterfaceProperties ipProperties = networkInterface.GetIPProperties(); UnicastIPAddressInformationCollection ipAddresses = ipProperties.UnicastAddresses; Console.WriteLine($"Interface: {networkInterface.Name}"); foreach (UnicastIPAddressInformation ipAddress in ipAddresses) { Console.WriteLine($"IP Address: {ipAddress.Address}"); } } } } }
在上面的示例中,我们首先使用NetworkInterface.GetAllNetworkInterfaces()
方法获取本地计算机上的所有网络接口。然后遍历每个网络接口,检查其状态是否为OperationalStatus.Up
,以确保它是活动的。然后通过GetIPProperties()
方法获取该网络接口的IP属性,并遍历其UnicastAddresses
属性以获取所有的IP地址。
这种方法可以帮助您获取本地计算机上所有网络接口的IP地址,您可以根据自己的需求对上述代码进行调整和扩展。