C# 如何识别主物理lan卡的MAC地址?

C# 如何识别主物理lan卡的MAC地址?,c#,mac-address,C#,Mac Address,我正在用C#开发窗口应用程序。我正在使用以下代码获取MAC地址 private void Form1_Load(object sender, EventArgs e) { lbl1.Text = "Hi"; string macAddresses = ""; foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces(

我正在用C#开发窗口应用程序。我正在使用以下代码获取MAC地址

private void Form1_Load(object sender, EventArgs e)
        {
            lbl1.Text = "Hi";

            string macAddresses = "";

            foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (nic.OperationalStatus == OperationalStatus.Up)
                {
                    macAddresses += nic.GetPhysicalAddress().ToString();
                    break;
                }
            }
            lbl1.Text = macAddresses;

        }

在上面的代码中,我没有得到主lan卡的MAC地址。在我的计算机中,我创建了两个环回适配器A和B。我有一个物理Lan卡。现在,我想获得主物理Lan卡的MAC地址,而不是A&B。如何做到这一点?您能提供任何代码或链接来解决上述问题吗?

如果您使用localhost作为目标IP地址,我想您可以使用此链接…

将条件更改为:

 // instead of nic.OperationalStatus == OperationalStatus.Up
 nic.NetworkInterfaceType != NetworkInterfaceType.Loopback
或者使用以下命令:

    nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet || nic.NetworkInterfaceType  ==  etworkInterfaceType.FastEthernetFx || nic.NetworkInterfaceType ==              NetworkInterfaceType.FastEthernetT

什么不起作用,你能更具体一点吗??你得到了什么?您是否得到异常??在这两种情况下,我都得到名为“网络B”的环回适配器的MAC地址。我有一张“真正的Lan卡”,这是我的实际Lan卡。我要“真正的局域网卡”的MAC地址,请查看您的代码,我的朋友。肯定还有别的事。