要在C#中获取本机的IP地址和MAC地址,
您可以使用NetworkInterface类和IPAddress类。
以下是一个示例代码,演示如何获取本机的IP地址和MAC地址:
using System;
using System.Net;
using System.Net.NetworkInformation;
public class Program
{
public static void Main()
{
// 获取本机的IP地址
string ipAddress = GetLocalIPAddress();
Console.WriteLine(#34;本机的IP地址: {ipAddress}");
// 获取本机的MAC地址
string macAddress = GetLocalMACAddress();
Console.WriteLine(#34;本机的MAC地址: {macAddress}");
}
// 获取本机的IP地址
public static string GetLocalIPAddress()
{
string ipAddress = string.Empty;
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
ipAddress = ip.ToString();
break;
}
}
return ipAddress;
}
// 获取本机的MAC地址
public static string GetLocalMACAddress()
{
string macAddress = string.Empty;
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface nic in nics)
{
if (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet && nic.OperationalStatus == OperationalStatus.Up)
{
macAddress = nic.GetPhysicalAddress().ToString();
break;
}
}
return macAddress;
}
}
在这个示例中,我们首先定义了一个GetLocalIPAddress方法来获取本机的IP地址。
我们使用Dns.GetHostEntry方法来获取本机的主机信息,并遍历主机的IP地址列表。
我们选择第一个IPv4地址作为本机的IP地址。
然后,我们定义了一个GetLocalMACAddress方法来获取本机的MAC地址。
我们使用
NetworkInterface.GetAllNetworkInterfaces方法来获取所有网络接口,并遍历它们。
我们选择第一个以太网接口(Ethernet)且状态为“Up”的接口,并使用GetPhysicalAddress方法来获取其物理地址。
最后,在Main方法中,我们调用这两个方法来获取本机的IP地址和MAC地址,并将它们打印出来。