📅  最后修改于: 2023-12-03 15:27:51.990000             🧑  作者: Mango
当我们需要进行网络编程时,获取默认网关地址是必不可少的一步。在 C# 中,可以使用 NetworkInterface
类来轻松地获取默认网关地址。
以下代码演示了如何使用 NetworkInterface
类来获取默认网关地址:
using System.Net.NetworkInformation;
public static string GetDefaultGatewayAddress()
{
string result = null;
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
GatewayIPAddressInformationCollection gateways = nic.GetIPProperties().GatewayAddresses;
if (gateways.Count > 0)
{
result = gateways[0].Address.ToString();
break;
}
}
}
return result;
}
NetworkInterface.GetAllNetworkInterfaces()
:获取系统中的所有网络接口。nic.OperationalStatus == OperationalStatus.Up
:筛选状态为“联机”的网络接口。nic.GetIPProperties().GatewayAddresses
:获取网关地址信息集合。gateways[0].Address.ToString()
:获取第一个网关地址并转换为字符串形式。result = gateways[0].Address.ToString();
:找到第一个符合条件的网关地址并赋值给 result
变量。上述代码实现了在 C# 中获取默认网关地址的功能。它适用于 Windows 和 macOS 操作系统。在 Linux 系统中,可以使用 ip route
命令来获取默认网关地址。