要在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($"本机的IP地址: {ipAddress}"); // 获取本机的MAC地址 string macAddress = GetLocalMACAddress(); Console.WriteLine($"本机的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地址,并将它们打印出来。